summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/570-ath9k_tx_stop_failure_debug.patch
diff options
context:
space:
mode:
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.patch27
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))