From: Ben Greear Date: Mon, 10 Jan 2011 07:11:47 +0000 (-0800) Subject: ath9k: Ensure xmit makes progress. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=082f65368991f6bb7499c379754505cb674708b1;p=openwrt%2Fstaging%2Fblogic.git ath9k: Ensure xmit makes progress. If the txq->axq_q is empty, the code was breaking out of the tx_processq logic without checking to see if it should transmit other queued AMPDU frames (txq->axq_acq). This patches ensures ath_txq_schedule is called. This needs review. Signed-off-by: Ben Greear Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index aa67d641f140..f6de2271b9d4 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2005,6 +2005,8 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq) spin_lock_bh(&txq->axq_lock); if (list_empty(&txq->axq_q)) { txq->axq_link = NULL; + if (sc->sc_flags & SC_OP_TXAGGR) + ath_txq_schedule(sc, txq); spin_unlock_bh(&txq->axq_lock); break; }