6a91557e4c
Do a couple things here: - Split the mega-patches into individual patches. Should help with rebasing. - Make all patches 'git am' acceptable. There should be no functional or actual code differences from before
43 lines
1.3 KiB
Diff
43 lines
1.3 KiB
Diff
From dfc1afd652976a77e8fcfb57866ad0f29b50d042 Mon Sep 17 00:00:00 2001
|
|
From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org>
|
|
Date: Wed, 6 Feb 2013 09:57:47 -0500
|
|
Subject: [PATCH] ath9k: rx dma stop check
|
|
|
|
---
|
|
drivers/net/wireless/ath/ath9k/mac.c | 12 +++++++++++-
|
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
|
|
index 275205ab5f15..bb842623bdf6 100644
|
|
--- a/drivers/net/wireless/ath/ath9k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/mac.c
|
|
@@ -700,7 +700,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset)
|
|
{
|
|
#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 */
|
|
@@ -730,6 +730,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset)
|
|
}
|
|
|
|
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,
|
|
--
|
|
1.9.3
|
|
|