igb: Workaround for global device reset problem on 82580.
authorCarolyn Wyborny <carolyn.wyborny@intel.com>
Thu, 22 Nov 2012 01:24:08 +0000 (01:24 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 1 Dec 2012 11:11:58 +0000 (03:11 -0800)
Due to a hw errata, the global device reset doesn't always work on 82580
devices.  This patch works around the problem not trying to do a global
device reset on these devices.

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/e1000_82575.c

index 8c12dbd0d6ce8927274b08ea560081b2a3459d15..db40b68819d86d8d77782b8b4246bf3dc6d564e3 100644 (file)
@@ -1927,6 +1927,12 @@ static s32 igb_reset_hw_82580(struct e1000_hw *hw)
 
        hw->dev_spec._82575.global_device_reset = false;
 
+       /* due to hw errata, global device reset doesn't always
+        * work on 82580
+        */
+       if (hw->mac.type == e1000_82580)
+               global_device_reset = false;
+
        /* Get current control state. */
        ctrl = rd32(E1000_CTRL);