aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c7
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 3ced9ea9c5fe..26bc0482dd9e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2764,6 +2764,11 @@ static void __iwl_down(struct iwl_priv *priv)
2764 if (!exit_pending) 2764 if (!exit_pending)
2765 set_bit(STATUS_EXIT_PENDING, &priv->status); 2765 set_bit(STATUS_EXIT_PENDING, &priv->status);
2766 2766
2767 /* Stop TX queues watchdog. We need to have STATUS_EXIT_PENDING bit set
2768 * to prevent rearm timer */
2769 if (priv->cfg->ops->lib->recover_from_tx_stall)
2770 del_timer_sync(&priv->monitor_recover);
2771
2767 iwl_clear_ucode_stations(priv); 2772 iwl_clear_ucode_stations(priv);
2768 iwl_dealloc_bcast_station(priv); 2773 iwl_dealloc_bcast_station(priv);
2769 iwl_clear_driver_stations(priv); 2774 iwl_clear_driver_stations(priv);
@@ -3870,8 +3875,6 @@ static void iwl_cancel_deferred_work(struct iwl_priv *priv)
3870 cancel_work_sync(&priv->beacon_update); 3875 cancel_work_sync(&priv->beacon_update);
3871 del_timer_sync(&priv->statistics_periodic); 3876 del_timer_sync(&priv->statistics_periodic);
3872 del_timer_sync(&priv->ucode_trace); 3877 del_timer_sync(&priv->ucode_trace);
3873 if (priv->cfg->ops->lib->recover_from_tx_stall)
3874 del_timer_sync(&priv->monitor_recover);
3875} 3878}
3876 3879
3877static void iwl_init_hw_rates(struct iwl_priv *priv, 3880static void iwl_init_hw_rates(struct iwl_priv *priv,
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
3818static struct attribute *iwl3945_sysfs_entries[] = { 3821static struct attribute *iwl3945_sysfs_entries[] = {