diff options
Diffstat (limited to 'package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch')
-rw-r--r-- | package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch b/package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch new file mode 100644 index 0000000000..9a57c05947 --- /dev/null +++ b/package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch @@ -0,0 +1,27 @@ +--- a/drivers/net/wireless/ath/ath9k/xmit.c ++++ b/drivers/net/wireless/ath/ath9k/xmit.c +@@ -1512,7 +1512,8 @@ bool ath_drain_all_txq(struct ath_softc + struct ath_hw *ah = sc->sc_ah; + struct ath_common *common = ath9k_hw_common(sc->sc_ah); + struct ath_txq *txq; +- int i, npend = 0; ++ int i; ++ u32 npend = 0; + + if (sc->sc_flags & SC_OP_INVALID) + return true; +@@ -1524,11 +1525,12 @@ bool ath_drain_all_txq(struct ath_softc + if (!ATH_TXQ_SETUP(sc, i)) + 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) +- ath_err(common, "Failed to stop TX DMA!\n"); ++ ath_err(common, "Failed to stop TX DMA, queues=%08x!\n", npend); + + for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) { + if (!ATH_TXQ_SETUP(sc, i)) |