Merge commit 'v3.6-rc5' into next
Bjorn Helgaas [Thu, 13 Sep 2012 14:41:01 +0000 (08:41 -0600)]
* commit 'v3.6-rc5': (1098 commits)
  Linux 3.6-rc5
  HID: tpkbd: work even if the new Lenovo Keyboard driver is not configured
  Remove user-triggerable BUG from mpol_to_str
  xen/pciback: Fix proper FLR steps.
  uml: fix compile error in deliver_alarm()
  dj: memory scribble in logi_dj
  Fix order of arguments to compat_put_time[spec|val]
  xen: Use correct masking in xen_swiotlb_alloc_coherent.
  xen: fix logical error in tlb flushing
  xen/p2m: Fix one-off error in checking the P2M tree directory.
  powerpc: Don't use __put_user() in patch_instruction
  powerpc: Make sure IPI handlers see data written by IPI senders
  powerpc: Restore correct DSCR in context switch
  powerpc: Fix DSCR inheritance in copy_thread()
  powerpc: Keep thread.dscr and thread.dscr_inherit in sync
  powerpc: Update DSCR on all CPUs when writing sysfs dscr_default
  powerpc/powernv: Always go into nap mode when CPU is offline
  powerpc: Give hypervisor decrementer interrupts their own handler
  powerpc/vphn: Fix arch_update_cpu_topology() return value
  ARM: gemini: fix the gemini build
  ...

Conflicts:
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/rapidio/devices/tsi721.c

15 files changed:
1  2 
Documentation/feature-removal-schedule.txt
drivers/gpu/drm/radeon/evergreen.c
drivers/iommu/intel-iommu.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/wireless/ath/ath9k/pci.c
drivers/net/wireless/iwlwifi/pcie/trans.c
drivers/pci/pci.c
drivers/pci/pcie/portdrv_pci.c
drivers/pci/probe.c
drivers/rapidio/devices/tsi721.c
drivers/xen/xen-pciback/pci_stub.c

Simple merge
Simple merge
@@@ -9378,28 -9372,29 +9366,25 @@@ static int __devinit bnx2x_prev_mark_pa
        return rc;
  }
  
- static bool __devinit bnx2x_can_flr(struct bnx2x *bp)
- {
-       u32 cap;
-       struct pci_dev *dev = bp->pdev;
-       pcie_capability_read_dword(dev, PCI_EXP_DEVCAP, &cap);
-       if (!(cap & PCI_EXP_DEVCAP_FLR))
-               return false;
-       return true;
- }
  static int __devinit bnx2x_do_flr(struct bnx2x *bp)
  {
 -      int i, pos;
 +      int i;
        u16 status;
        struct pci_dev *dev = bp->pdev;
  
-       /* probe the capability first */
-       if (bnx2x_can_flr(bp))
-               return -ENOTTY;
+       if (CHIP_IS_E1x(bp)) {
+               BNX2X_DEV_INFO("FLR not supported in E1/E1H\n");
+               return -EINVAL;
+       }
+       /* only bootcode REQ_BC_VER_4_INITIATE_FLR and onwards support flr */
+       if (bp->common.bc_ver < REQ_BC_VER_4_INITIATE_FLR) {
+               BNX2X_ERR("FLR not supported by BC_VER: 0x%x\n",
+                         bp->common.bc_ver);
+               return -EINVAL;
+       }
  
 -      pos = pci_pcie_cap(dev);
 -      if (!pos)
 -              return -ENOTTY;
 -
        /* Wait for Transaction Pending bit clean */
        for (i = 0; i < 4; i++) {
                if (i)
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -2212,8 -2219,9 +2219,7 @@@ static int __devinit tsi721_probe(struc
                                  const struct pci_device_id *id)
  {
        struct tsi721_device *priv;
-       int i;
 -      int cap;
        int err;
 -      u32 regval;
  
        priv = kzalloc(sizeof(struct tsi721_device), GFP_KERNEL);
        if (priv == NULL) {
Simple merge