diff options
Diffstat (limited to 'package/mac80211/patches/573-ath9k_beacon_stop.patch')
-rw-r--r-- | package/mac80211/patches/573-ath9k_beacon_stop.patch | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/package/mac80211/patches/573-ath9k_beacon_stop.patch b/package/mac80211/patches/573-ath9k_beacon_stop.patch index 7a9f63fc70..5574d17168 100644 --- a/package/mac80211/patches/573-ath9k_beacon_stop.patch +++ b/package/mac80211/patches/573-ath9k_beacon_stop.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/mac.c +++ b/drivers/net/wireless/ath/ath9k/mac.c -@@ -170,84 +170,30 @@ void ath9k_hw_abort_tx_dma(struct ath_hw +@@ -171,84 +171,31 @@ void ath9k_hw_abort_tx_dma(struct ath_hw } EXPORT_SYMBOL(ath9k_hw_abort_tx_dma); @@ -34,11 +34,11 @@ REG_WRITE(ah, AR_Q_TXD, 1 << q); for (wait = wait_time; wait != 0; wait--) { - if (ath9k_hw_numtxpending(ah, q) == 0) - break; +- if (ath9k_hw_numtxpending(ah, q) == 0) +- break; - udelay(ATH9K_TIME_QUANTUM); - } - +- - if (ath9k_hw_numtxpending(ah, q)) { - ath_dbg(common, ATH_DBG_QUEUE, - "%s: Num of pending TX Frames %d on Q %d\n", @@ -73,11 +73,13 @@ - "Failed to stop TX DMA in 100 msec after killing last frame\n"); - break; - } -- udelay(ATH9K_TIME_QUANTUM); ++ if (wait != wait_time) + udelay(ATH9K_TIME_QUANTUM); - } -- + - REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_CH_IDLE_HIGH); -+ udelay(ATH9K_TIME_QUANTUM); ++ if (ath9k_hw_numtxpending(ah, q) == 0) ++ break; } REG_WRITE(ah, AR_Q_TXD, 0); |