aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/htc_drv_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_main.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index f14f37d29f45..a702089f18d0 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1026,12 +1026,6 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
1026 int ret = 0; 1026 int ret = 0;
1027 u8 cmd_rsp; 1027 u8 cmd_rsp;
1028 1028
1029 /* Cancel all the running timers/work .. */
1030 cancel_work_sync(&priv->fatal_work);
1031 cancel_work_sync(&priv->ps_work);
1032 cancel_delayed_work_sync(&priv->ath9k_led_blink_work);
1033 ath9k_led_stop_brightness(priv);
1034
1035 mutex_lock(&priv->mutex); 1029 mutex_lock(&priv->mutex);
1036 1030
1037 if (priv->op_flags & OP_INVALID) { 1031 if (priv->op_flags & OP_INVALID) {
@@ -1045,8 +1039,23 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
1045 WMI_CMD(WMI_DISABLE_INTR_CMDID); 1039 WMI_CMD(WMI_DISABLE_INTR_CMDID);
1046 WMI_CMD(WMI_DRAIN_TXQ_ALL_CMDID); 1040 WMI_CMD(WMI_DRAIN_TXQ_ALL_CMDID);
1047 WMI_CMD(WMI_STOP_RECV_CMDID); 1041 WMI_CMD(WMI_STOP_RECV_CMDID);
1042
1043 tasklet_kill(&priv->swba_tasklet);
1044 tasklet_kill(&priv->rx_tasklet);
1045 tasklet_kill(&priv->tx_tasklet);
1046
1048 skb_queue_purge(&priv->tx_queue); 1047 skb_queue_purge(&priv->tx_queue);
1049 1048
1049 mutex_unlock(&priv->mutex);
1050
1051 /* Cancel all the running timers/work .. */
1052 cancel_work_sync(&priv->fatal_work);
1053 cancel_work_sync(&priv->ps_work);
1054 cancel_delayed_work_sync(&priv->ath9k_led_blink_work);
1055 ath9k_led_stop_brightness(priv);
1056
1057 mutex_lock(&priv->mutex);
1058
1050 /* Remove monitor interface here */ 1059 /* Remove monitor interface here */
1051 if (ah->opmode == NL80211_IFTYPE_MONITOR) { 1060 if (ah->opmode == NL80211_IFTYPE_MONITOR) {
1052 if (ath9k_htc_remove_monitor_interface(priv)) 1061 if (ath9k_htc_remove_monitor_interface(priv))