Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8784d2ee authored by Bob Copeland's avatar Bob Copeland Committed by John W. Linville
Browse files

ath5k: fix CAB queue operation



We need to process tx descriptors for all queues (currently main tx
queue and cabq) which may have triggered the TX completion interrupt.
Otherwise, the queues can get stuck after sending a few frames.

Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7e2ce646
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2000,9 +2000,12 @@ ath5k_tx_processq(struct ath5k_softc *sc, struct ath5k_txq *txq)
static void
ath5k_tasklet_tx(unsigned long data)
{
	int i;
	struct ath5k_softc *sc = (void *)data;

	ath5k_tx_processq(sc, sc->txq);
	for (i=0; i < AR5K_NUM_TX_QUEUES; i++)
		if (sc->txqs[i].setup && (sc->ah->ah_txq_isr & BIT(i)))
			ath5k_tx_processq(sc, &sc->txqs[i]);
}