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 b342019593
commit 27e48a6999
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

@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and # 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" # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
# #
%global baserelease 1 %global baserelease 2
%global fedora_build %{baserelease} %global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching # base_sublevel is the kernel version we're starting with and patching
@ -755,6 +755,9 @@ Patch21244: iwlegacy-add-flush-callback.patch
#rhbz 903881 #rhbz 903881
Patch21246: rtlwifi-Fix-scheduling-while-atomic-bug.patch Patch21246: rtlwifi-Fix-scheduling-while-atomic-bug.patch
#rhbz 892811
Patch21247: ath9k_rx_dma_stop_check.patch
# END OF PATCH DEFINITIONS # END OF PATCH DEFINITIONS
%endif %endif
@ -1460,6 +1463,9 @@ ApplyPatch iwlegacy-add-flush-callback.patch
#rhbz 903881 #rhbz 903881
ApplyPatch rtlwifi-Fix-scheduling-while-atomic-bug.patch ApplyPatch rtlwifi-Fix-scheduling-while-atomic-bug.patch
#rhbz 892811
ApplyPatch ath9k_rx_dma_stop_check.patch
# END OF PATCH APPLICATIONS # END OF PATCH APPLICATIONS
%endif %endif
@ -2315,6 +2321,9 @@ fi
# ||----w | # ||----w |
# || || # || ||
%changelog %changelog
* Wed Feb 06 2013 Josh Boyer <jwboyer@redhat.com>
- Add patch to fix ath9k dma stop checks (rhbz 892811)
* Wed Feb 06 2013 Josh Boyer <jwboyer@redhat.com> - 3.8.0-0.rc6.git3.1 * Wed Feb 06 2013 Josh Boyer <jwboyer@redhat.com> - 3.8.0-0.rc6.git3.1
- Linux v3.8-rc6-98-g1589a3e - Linux v3.8-rc6-98-g1589a3e
- Add patch to honor MokSBState (rhbz 907406) - Add patch to honor MokSBState (rhbz 907406)