aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index 37caa8885c2a..8d8908d2a9b1 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -493,7 +493,11 @@ out:
493static void e1000_down_and_stop(struct e1000_adapter *adapter) 493static void e1000_down_and_stop(struct e1000_adapter *adapter)
494{ 494{
495 set_bit(__E1000_DOWN, &adapter->flags); 495 set_bit(__E1000_DOWN, &adapter->flags);
496 cancel_work_sync(&adapter->reset_task); 496
497 /* Only kill reset task if adapter is not resetting */
498 if (!test_bit(__E1000_RESETTING, &adapter->flags))
499 cancel_work_sync(&adapter->reset_task);
500
497 cancel_delayed_work_sync(&adapter->watchdog_task); 501 cancel_delayed_work_sync(&adapter->watchdog_task);
498 cancel_delayed_work_sync(&adapter->phy_info_task); 502 cancel_delayed_work_sync(&adapter->phy_info_task);
499 cancel_delayed_work_sync(&adapter->fifo_stall_task); 503 cancel_delayed_work_sync(&adapter->fifo_stall_task);