diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 94d7e6e1323d..53e6cbb3aaaa 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -2571,6 +2571,11 @@ static void __iwl3945_down(struct iwl_priv *priv) | |||
2571 | if (!exit_pending) | 2571 | if (!exit_pending) |
2572 | set_bit(STATUS_EXIT_PENDING, &priv->status); | 2572 | set_bit(STATUS_EXIT_PENDING, &priv->status); |
2573 | 2573 | ||
2574 | /* Stop TX queues watchdog. We need to have STATUS_EXIT_PENDING bit set | ||
2575 | * to prevent rearm timer */ | ||
2576 | if (priv->cfg->ops->lib->recover_from_tx_stall) | ||
2577 | del_timer_sync(&priv->monitor_recover); | ||
2578 | |||
2574 | /* Station information will now be cleared in device */ | 2579 | /* Station information will now be cleared in device */ |
2575 | iwl_clear_ucode_stations(priv); | 2580 | iwl_clear_ucode_stations(priv); |
2576 | iwl_dealloc_bcast_station(priv); | 2581 | iwl_dealloc_bcast_station(priv); |
@@ -3811,8 +3816,6 @@ static void iwl3945_cancel_deferred_work(struct iwl_priv *priv) | |||
3811 | cancel_delayed_work(&priv->alive_start); | 3816 | cancel_delayed_work(&priv->alive_start); |
3812 | cancel_work_sync(&priv->start_internal_scan); | 3817 | cancel_work_sync(&priv->start_internal_scan); |
3813 | cancel_work_sync(&priv->beacon_update); | 3818 | cancel_work_sync(&priv->beacon_update); |
3814 | if (priv->cfg->ops->lib->recover_from_tx_stall) | ||
3815 | del_timer_sync(&priv->monitor_recover); | ||
3816 | } | 3819 | } |
3817 | 3820 | ||
3818 | static struct attribute *iwl3945_sysfs_entries[] = { | 3821 | static struct attribute *iwl3945_sysfs_entries[] = { |