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);
- }
-
- /*****************/