From: Felix Fietkau Date: Wed, 14 Dec 2011 21:03:52 +0000 (+0000) Subject: ath9k: fix a locking issue X-Git-Tag: reboot~15316 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e8a01f3588d3597f6a10c57791d643bd78fbb361;p=openwrt%2Fstaging%2Fxback.git ath9k: fix a locking issue SVN-Revision: 29537 --- diff --git a/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch b/package/mac80211/patches/563-ath9k_simplify_tx_locking.patch index c6b3ad231c..93aa33d0c7 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); - } - - /*****************/