diff options
author | Emil Tantilov <emil.s.tantilov@intel.com> | 2011-08-27 03:18:37 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2011-10-05 05:52:54 -0400 |
commit | 7edebf9a6aac07e2ebb3901b60672293a7139ad0 (patch) | |
tree | fd1ac9a28b8d3b1e9163b8d242ea7f50ee095e68 /drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |
parent | 8ce9d6c725b01989d2b18ee1df853837388ceaf6 (diff) |
ixgbe: prevent link checks while resetting
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>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 9cd44adcea1..ed922726daa 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -5978,7 +5978,8 @@ static void ixgbe_spoof_check(struct ixgbe_adapter *adapter) | |||
5978 | static void ixgbe_watchdog_subtask(struct ixgbe_adapter *adapter) | 5978 | static void ixgbe_watchdog_subtask(struct ixgbe_adapter *adapter) |
5979 | { | 5979 | { |
5980 | /* if interface is down do nothing */ | 5980 | /* if interface is down do nothing */ |
5981 | if (test_bit(__IXGBE_DOWN, &adapter->state)) | 5981 | if (test_bit(__IXGBE_DOWN, &adapter->state) || |
5982 | test_bit(__IXGBE_RESETTING, &adapter->state)) | ||
5982 | return; | 5983 | return; |
5983 | 5984 | ||
5984 | ixgbe_watchdog_update_link(adapter); | 5985 | ixgbe_watchdog_update_link(adapter); |