diff options
author | Vasanthakumar Thiagarajan <vasanth@atheros.com> | 2010-07-22 02:24:11 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-07-26 15:32:41 -0400 |
commit | 68e8f2fae03cde0ba841325e2660b55fe49bf4b9 (patch) | |
tree | 011191db1afaa3933d1d83f5fcbee1af0f8904fe /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | 2189d13f6cfc58627a01d6a91591e59a2fa62902 (diff) | |
download | lwn-68e8f2fae03cde0ba841325e2660b55fe49bf4b9.tar.gz lwn-68e8f2fae03cde0ba841325e2660b55fe49bf4b9.zip |
ath9k: Fix inconsistency between txq->stopped and the actual queue state
Sometimes txq state(txq->stopped) can be marked as started but the actual
queue may not be started (in ATH_WIPHY_SCAN state, for example). Fix this.
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 0644f1e91887..21aa5bdb2592 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2077,8 +2077,8 @@ static void ath_wake_mac80211_queue(struct ath_softc *sc, struct ath_txq *txq) spin_lock_bh(&txq->axq_lock); if (txq->stopped && sc->tx.pending_frames[qnum] < ATH_MAX_QDEPTH) { - ath_mac80211_start_queue(sc, qnum); - txq->stopped = 0; + if (ath_mac80211_start_queue(sc, qnum)) + txq->stopped = 0; } spin_unlock_bh(&txq->axq_lock); } |