1. 07 Dec, 2012 4 commits
    • Stefan Assmann's avatar
      igb: release already assigned MSI-X interrupts if setup fails · 52285b76
      Stefan Assmann authored
      During MSI-X setup the system might run out of vectors. If this happens the
      already assigned vectors for this NIC should be freed before trying the
      disable MSI-X. Failing to do so results in the following oops.
      
      kernel BUG at drivers/pci/msi.c:341!
      [...]
      Call Trace:
       [<ffffffff8128f39d>] pci_disable_msix+0x3d/0x60
       [<ffffffffa037d1ce>] igb_reset_interrupt_capability+0x27/0x5c [igb]
       [<ffffffffa037d229>] igb_clear_interrupt_scheme+0x26/0x2d [igb]
       [<ffffffffa0384268>] igb_request_irq+0x73/0x297 [igb]
       [<ffffffffa0384554>] __igb_open+0xc8/0x223 [igb]
       [<ffffffffa0384815>] igb_open+0x13/0x15 [igb]
       [<ffffffff8144592f>] __dev_open+0xbf/0x120
       [<ffffffff81443e51>] __dev_change_flags+0xa1/0x180
       [<ffffffff81445828>] dev_change_flags+0x28/0x70
       [<ffffffff814af537>] devinet_ioctl+0x5b7/0x620
       [<ffffffff814b01c8>] inet_ioctl+0x88/0xa0
       [<ffffffff8142e8a0>] sock_do_ioctl+0x30/0x70
       [<ffffffff8142ecf2>] sock_ioctl+0x72/0x270
       [<ffffffff8118062c>] do_vfs_ioctl+0x8c/0x340
       [<ffffffff81180981>] sys_ioctl+0xa1/0xb0
       [<ffffffff815161a9>] system_call_fastpath+0x16/0x1b
      Code: 48 89 df e8 1f 40 ed ff 4d 39 e6 49 8b 45 10 75 b6 48 83 c4 18 5b 41 5c 41 5d 41 5e 41 5f c9 c3 48 8b 7b 20 e8 3e 91 db ff eb ae <0f> 0b eb fe 0f 1f 84 00 00 00 00 00 55 48 89 e5 0f 1f 44 00 00
      RIP  [<ffffffff8128e144>] free_msi_irqs+0x124/0x130
       RSP <ffff880037503bd8>
      Signed-off-by: default avatarStefan Assmann <sassmann@kpanic.de>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      52285b76
    • Stefan Assmann's avatar
      igb: remove duplicate code for fallback interrupt initialization · 53c7d064
      Stefan Assmann authored
      Given a small change to igb_init_interrupt_scheme() the function fits
      igb_request_irq() for MSI/legacy interrupts initialization as well, instead of
      duplicating most of its code there.
      
      Also adding a missing igb_configure() to igb_request_irq() for MSI fallback
      to work properly.
      Signed-off-by: default avatarStefan Assmann <sassmann@kpanic.de>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      53c7d064
    • Jacob Keller's avatar
      ixgbe: check whether thermal sensor is enabled. · cb6d0f5e
      Jacob Keller authored
      The X540's internal thermal sensor should not be enabled for all devices, but
      only those devices which enable it in the NVM image. It is expected that
      actively cooled devices will have it enabled, but passively cooled devices might
      not want it enabled. This is due to passively cooled devices operating very near
      the thermal threshold, sometimes within the margin of error of the thermal
      sensor. Thus these devices may not be good candidates for using the thermal
      sensor.
      
      This patch uses the enabled bit in the FWSM register to check whether we should
      be enabling the thermal sensor, and only sets the THERMAL_SENSOR_CAPABLE flag
      for those devices which have it enabled.
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      cb6d0f5e
    • Joe Perches's avatar
      ixgbe: Use is_valid_ether_addr · f8ebc683
      Joe Perches authored
      Use the normal kernel test instead of a module specific one.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f8ebc683
  2. 06 Dec, 2012 1 commit
  3. 05 Dec, 2012 10 commits
  4. 04 Dec, 2012 24 commits
  5. 03 Dec, 2012 1 commit