diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-12-14 21:03:52 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-12-14 21:03:52 +0000 |
commit | 92f09266ed788f163deb0cdf24c21959e05c37a2 (patch) | |
tree | dd65cb498a7f345ddc7117d798e9e56040093e24 /package/mac80211 | |
parent | 032d88149661fb1f2360e37181d84cdda7f55050 (diff) |
ath9k: fix a locking issue
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29537 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211')
-rw-r--r-- | package/mac80211/patches/563-ath9k_simplify_tx_locking.patch | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch b/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch index c6b3ad231..93aa33d0c 100644 --- a/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch +++ b/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch @@ -212,36 +212,3 @@ if (sc->sc_flags & SC_OP_TXAGGR) ath_txq_schedule(sc, txq); } -@@ -2281,6 +2253,7 @@ void ath_tx_edma_tasklet(struct ath_soft - struct list_head bf_head; - int status; - -+ spin_lock_bh(&txq->axq_lock); - for (;;) { - if (work_pending(&sc->hw_reset_work)) - break; -@@ -2300,12 +2273,8 @@ void ath_tx_edma_tasklet(struct ath_soft - - txq = &sc->tx.txq[ts.qid]; - -- spin_lock_bh(&txq->axq_lock); -- -- if (list_empty(&txq->txq_fifo[txq->txq_tailidx])) { -- spin_unlock_bh(&txq->axq_lock); -- return; -- } -+ if (list_empty(&txq->txq_fifo[txq->txq_tailidx])) -+ break; - - bf = list_first_entry(&txq->txq_fifo[txq->txq_tailidx], - struct ath_buf, list); -@@ -2329,8 +2298,8 @@ void ath_tx_edma_tasklet(struct ath_soft - } - - ath_tx_process_buffer(sc, txq, &ts, bf, &bf_head); -- spin_unlock_bh(&txq->axq_lock); - } -+ spin_unlock_bh(&txq->axq_lock); - } - - /*****************/ |