diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ath/if_ath.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 04d723a..36a71d9 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -4602,15 +4602,25 @@ ath_tx_stopdma(struct ath_softc *sc, struct ath_txq *txq) struct ath_hal *ah = sc->sc_ah; DPRINTF(sc, ATH_DEBUG_RESET, - "%s: tx queue [%u] %p, active=%d, hwpending=%d, flags 0x%08x, link %p\n", + "%s: tx queue [%u] %p, active=%d, hwpending=%d, flags 0x%08x, " + "link %p, holdingbf=%p\n", __func__, txq->axq_qnum, (caddr_t)(uintptr_t) ath_hal_gettxbuf(ah, txq->axq_qnum), (int) (!! ath_hal_txqenabled(ah, txq->axq_qnum)), (int) ath_hal_numtxpending(ah, txq->axq_qnum), txq->axq_flags, - txq->axq_link); + txq->axq_link, + txq->axq_holdingbf); + (void) ath_hal_stoptxdma(ah, txq->axq_qnum); + +#ifdef ATH_DEBUG + if ((sc->sc_debug & ATH_DEBUG_RESET) + && (txq->axq_holdingbf != NULL)) { + ath_printtxbuf(sc, txq->axq_holdingbf, txq->axq_qnum, 0, 0); + } +#endif } int |