summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath5k/base.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-05-25 02:01:30 +0400
committerJohannes Berg <johannes.berg@intel.com>2013-05-25 02:01:30 +0400
commitdde7dc759b777f385fc5df2af691c82eb455c7f3 (patch)
tree5e8f1fcd10a6b264d60bc8a0503656c0611de222 /drivers/net/wireless/ath/ath5k/base.c
parentb422c6cd7e93bb613030f14d7d8a0cc73f115629 (diff)
parent4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 (diff)
downloadlinux-dde7dc759b777f385fc5df2af691c82eb455c7f3.tar.xz
Merge remote-tracking branch 'mac80211/master' into mac80211-next
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.c')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 9b20d9ee2719..7f702fe3ecc2 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -2369,6 +2369,9 @@ ath5k_tx_complete_poll_work(struct work_struct *work)
int i;
bool needreset = false;
+ if (!test_bit(ATH_STAT_STARTED, ah->status))
+ return;
+
mutex_lock(&ah->lock);
for (i = 0; i < ARRAY_SIZE(ah->txqs); i++) {
@@ -2676,6 +2679,7 @@ done:
mmiowb();
mutex_unlock(&ah->lock);
+ set_bit(ATH_STAT_STARTED, ah->status);
ieee80211_queue_delayed_work(ah->hw, &ah->tx_complete_work,
msecs_to_jiffies(ATH5K_TX_COMPLETE_POLL_INT));
@@ -2737,6 +2741,7 @@ void ath5k_stop(struct ieee80211_hw *hw)
ath5k_stop_tasklets(ah);
+ clear_bit(ATH_STAT_STARTED, ah->status);
cancel_delayed_work_sync(&ah->tx_complete_work);
if (!ath5k_modparam_no_hw_rfkill_switch)