From: Felix Fietkau Date: Tue, 27 Dec 2016 11:10:53 +0000 (+0100) Subject: ath9k: remove old rx dma stop check optimization X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=00ad43f047746ab16c6558306de8ab8265b4f9f1;p=openwrt%2Fstaging%2Fblocktrron.git ath9k: remove old rx dma stop check optimization This commit was added to improve reset time on old SoC devices that run into chip hangs more frequently. However with the more recent addition of full WMAC reset on these chips, it could be problematic. Drop this patch to ensure that DMA activity is really stopped before the chip reset is issued Signed-off-by: Felix Fietkau --- diff --git a/package/kernel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch b/package/kernel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch deleted file mode 100644 index c2d2781559..0000000000 --- a/package/kernel/mac80211/patches/541-ath9k_rx_dma_stop_check.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/mac.c -+++ b/drivers/net/wireless/ath/ath9k/mac.c -@@ -698,7 +698,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw - { - #define AH_RX_STOP_DMA_TIMEOUT 10000 /* usec */ - struct ath_common *common = ath9k_hw_common(ah); -- u32 mac_status, last_mac_status = 0; -+ u32 mac_status = 0, last_mac_status = 0; - int i; - - /* Enable access to the DMA observation bus */ -@@ -728,6 +728,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw - } - - if (i == 0) { -+ if (!AR_SREV_9300_20_OR_LATER(ah) && -+ (mac_status & 0x700) == 0) { -+ /* -+ * DMA is idle but the MAC is still stuck -+ * processing events -+ */ -+ *reset = true; -+ return true; -+ } -+ - ath_err(common, - "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n", - AH_RX_STOP_DMA_TIMEOUT / 1000,