Commit 34d25810 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville

ath9k: indicate which queues are blocked when stopping tx fails

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 97091317
...@@ -1466,7 +1466,8 @@ bool ath_drain_all_txq(struct ath_softc *sc, bool retry_tx) ...@@ -1466,7 +1466,8 @@ bool ath_drain_all_txq(struct ath_softc *sc, bool retry_tx)
struct ath_hw *ah = sc->sc_ah; struct ath_hw *ah = sc->sc_ah;
struct ath_common *common = ath9k_hw_common(sc->sc_ah); struct ath_common *common = ath9k_hw_common(sc->sc_ah);
struct ath_txq *txq; struct ath_txq *txq;
int i, npend = 0; int i;
u32 npend = 0;
if (sc->sc_flags & SC_OP_INVALID) if (sc->sc_flags & SC_OP_INVALID)
return true; return true;
...@@ -1478,11 +1479,12 @@ bool ath_drain_all_txq(struct ath_softc *sc, bool retry_tx) ...@@ -1478,11 +1479,12 @@ bool ath_drain_all_txq(struct ath_softc *sc, bool retry_tx)
if (!ATH_TXQ_SETUP(sc, i)) if (!ATH_TXQ_SETUP(sc, i))
continue; continue;
npend += ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum); if (ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum))
npend |= BIT(i);
} }
if (npend) if (npend)
ath_err(common, "Failed to stop TX DMA!\n"); ath_err(common, "Failed to stop TX DMA, queues=0x%03x!\n", npend);
for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) { for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) {
if (!ATH_TXQ_SETUP(sc, i)) if (!ATH_TXQ_SETUP(sc, i))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment