ixgbe: prevent link checks while resetting
authorEmil Tantilov <emil.s.tantilov@intel.com>
Sat, 27 Aug 2011 07:18:37 +0000 (07:18 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 5 Oct 2011 09:52:54 +0000 (02:52 -0700)
It some situations the driver sets __IXGBE_RESETTING and then
__IXGBE_DOWN flags. It is possible a link check may sneak in
between.

This patch adds check for both flags.
The idea is to reduce register reads while the PHY is resetting.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index 9cd44adcea14cbcef99a299a8539d2d73d8776e1..ed922726daabe9d4f8f4336e620b1eec1c7b5e9a 100644 (file)
@@ -5978,7 +5978,8 @@ static void ixgbe_spoof_check(struct ixgbe_adapter *adapter)
 static void ixgbe_watchdog_subtask(struct ixgbe_adapter *adapter)
 {
        /* if interface is down do nothing */
-       if (test_bit(__IXGBE_DOWN, &adapter->state))
+       if (test_bit(__IXGBE_DOWN, &adapter->state) ||
+           test_bit(__IXGBE_RESETTING, &adapter->state))
                return;
 
        ixgbe_watchdog_update_link(adapter);