aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn Wyborny <carolyn.wyborny@intel.com>2012-11-21 20:24:08 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-12-01 06:11:58 -0500
commita0483e2eb63d3b2f14a821edb21b3e610bfba5bd (patch)
treed04efb05b239bfd6d9dff105659c5016eb615871
parent7916a53d203f12461095886cf72d58e9281240d9 (diff)
igb: Workaround for global device reset problem on 82580.
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>
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_82575.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
index 8c12dbd0d6ce..db40b68819d8 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
@@ -1927,6 +1927,12 @@ static s32 igb_reset_hw_82580(struct e1000_hw *hw)
1927 1927
1928 hw->dev_spec._82575.global_device_reset = false; 1928 hw->dev_spec._82575.global_device_reset = false;
1929 1929
1930 /* due to hw errata, global device reset doesn't always
1931 * work on 82580
1932 */
1933 if (hw->mac.type == e1000_82580)
1934 global_device_reset = false;
1935
1930 /* Get current control state. */ 1936 /* Get current control state. */
1931 ctrl = rd32(E1000_CTRL); 1937 ctrl = rd32(E1000_CTRL);
1932 1938