diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_main.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_main.c | 21 |
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)) |