Add patch to fix ath9k dma stop checks (rhbz 892811)

This commit is contained in:
Josh Boyer 2013-02-06 09:57:47 -05:00
parent 2ee5453858
commit 87ef682fd1
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,28 @@
--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -689,7 +689,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 */
@@ -719,6 +719,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,

View File

@ -54,7 +54,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
%global baserelease 102
%global baserelease 103
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -757,6 +757,9 @@ Patch21242: Input-add-support-for-Cypress-PS2-Trackpads.patch
#rhbz 903881
Patch21246: rtlwifi-Fix-scheduling-while-atomic-bug.patch
#rhbz 892811
Patch21247: ath9k_rx_dma_stop_check.patch
# END OF PATCH DEFINITIONS
%endif
@ -1463,6 +1466,9 @@ ApplyPatch Input-add-support-for-Cypress-PS2-Trackpads.patch
#rhbz 903881
ApplyPatch rtlwifi-Fix-scheduling-while-atomic-bug.patch
#rhbz 892811
ApplyPatch ath9k_rx_dma_stop_check.patch
# END OF PATCH APPLICATIONS
%endif
@ -2318,6 +2324,9 @@ fi
# '-' | |
# '-'
%changelog
* Wed Feb 06 2013 Josh Boyer <jwboyer@redhat.com>
- Add patch to fix ath9k dma stop checks (rhbz 892811)
* Mon Feb 04 2013 Josh Boyer <jwboyer@redhat.com> - 3.7.6-102
- Fix rtlwifi scheduling while atomic from Larry Finger (rhbz 903881)