mac80211: backport from trunk r48782 + required kernel patches and mt76, mwlwifi
[15.05/openwrt.git] / package / kernel / mac80211 / patches / 359-0005-ath9k-make-DMA-stop-related-messages-debug-only.patch
diff --git a/package/kernel/mac80211/patches/359-0005-ath9k-make-DMA-stop-related-messages-debug-only.patch b/package/kernel/mac80211/patches/359-0005-ath9k-make-DMA-stop-related-messages-debug-only.patch
deleted file mode 100644 (file)
index 34af6d2..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Felix Fietkau <nbd@openwrt.org>
-Date: Thu, 2 Jul 2015 13:35:05 +0200
-Subject: [PATCH] ath9k: make DMA stop related messages debug-only
-
-A long time ago, ath9k had issues during reset where the DMA engine
-would stay active and could potentially corrupt memory.
-To debug those issues, the driver would print warnings whenever they
-occur.
-
-Nowadays, these issues are gone and the primary cause of these messages
-is if the MAC is stuck during reset or busy processing a long
-transmission. This is fairly harmless, yet these messages continue to
-worry users.
-
-To reduce the number of bogus bug reports, turn these messages into
-debug messages and count their occurence in the "reset" debugfs file.
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
----
-
---- a/drivers/net/wireless/ath/ath9k/debug.c
-+++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -765,6 +765,8 @@ static int read_file_reset(struct seq_fi
-               [RESET_TYPE_BEACON_STUCK] = "Stuck Beacon",
-               [RESET_TYPE_MCI] = "MCI Reset",
-               [RESET_TYPE_CALIBRATION] = "Calibration error",
-+              [RESET_TX_DMA_ERROR] = "Tx DMA stop error",
-+              [RESET_RX_DMA_ERROR] = "Rx DMA stop error",
-       };
-       int i;
---- a/drivers/net/wireless/ath/ath9k/debug.h
-+++ b/drivers/net/wireless/ath/ath9k/debug.h
-@@ -50,6 +50,8 @@ enum ath_reset_type {
-       RESET_TYPE_BEACON_STUCK,
-       RESET_TYPE_MCI,
-       RESET_TYPE_CALIBRATION,
-+      RESET_TX_DMA_ERROR,
-+      RESET_RX_DMA_ERROR,
-       __RESET_TYPE_MAX
- };
---- a/drivers/net/wireless/ath/ath9k/recv.c
-+++ b/drivers/net/wireless/ath/ath9k/recv.c
-@@ -496,10 +496,9 @@ bool ath_stoprecv(struct ath_softc *sc)
-       if (!(ah->ah_flags & AH_UNPLUGGED) &&
-           unlikely(!stopped)) {
--              ath_err(ath9k_hw_common(sc->sc_ah),
--                      "Could not stop RX, we could be "
--                      "confusing the DMA engine when we start RX up\n");
--              ATH_DBG_WARN_ON_ONCE(!stopped);
-+              ath_dbg(ath9k_hw_common(sc->sc_ah), RESET,
-+                      "Failed to stop Rx DMA\n");
-+              RESET_STAT_INC(sc, RESET_RX_DMA_ERROR);
-       }
-       return stopped && !reset;
- }
---- a/drivers/net/wireless/ath/ath9k/xmit.c
-+++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -1896,8 +1896,11 @@ bool ath_drain_all_txq(struct ath_softc
-                       npend |= BIT(i);
-       }
--      if (npend)
--              ath_err(common, "Failed to stop TX DMA, queues=0x%03x!\n", npend);
-+      if (npend) {
-+              RESET_STAT_INC(sc, RESET_TX_DMA_ERROR);
-+              ath_dbg(common, RESET,
-+                      "Failed to stop TX DMA, queues=0x%03x!\n", npend);
-+      }
-       for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) {
-               if (!ATH_TXQ_SETUP(sc, i))