ixgbe: fix bit toggled for 82599 reset fix.
authorDon Skidmore <donald.c.skidmore@intel.com>
Fri, 28 Feb 2014 04:32:42 +0000 (20:32 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Feb 2014 17:40:56 +0000 (12:40 -0500)
The current code doesn't toggle the correct bit to reset the data pipeline
on Restart_AN assertion.  This patch corrects that.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c

index 1c31d2d..e919c28 100644 (file)
@@ -2395,7 +2395,8 @@ static s32 ixgbe_reset_pipeline_82599(struct ixgbe_hw *hw)
        autoc_reg |= IXGBE_AUTOC_AN_RESTART;
 
        /* Write AUTOC register with toggled LMS[2] bit and Restart_AN */
-       IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg ^ IXGBE_AUTOC_LMS_1G_AN);
+       IXGBE_WRITE_REG(hw, IXGBE_AUTOC,
+                       autoc_reg ^ (0x4 << IXGBE_AUTOC_LMS_SHIFT));
 
        /* Wait for AN to leave state 0 */
        for (i = 0; i < 10; i++) {