diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000/e1000_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 6 | 
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 37b7d1c9072..95731c84104 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c @@ -493,7 +493,11 @@ out:  static void e1000_down_and_stop(struct e1000_adapter *adapter)  {  	set_bit(__E1000_DOWN, &adapter->flags); -	cancel_work_sync(&adapter->reset_task); + +	/* Only kill reset task if adapter is not resetting */ +	if (!test_bit(__E1000_RESETTING, &adapter->flags)) +		cancel_work_sync(&adapter->reset_task); +  	cancel_delayed_work_sync(&adapter->watchdog_task);  	cancel_delayed_work_sync(&adapter->phy_info_task);  	cancel_delayed_work_sync(&adapter->fifo_stall_task);  |