aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-01-25 15:32:18 +0100
committerFelix Fietkau <nbd@nbd.name>2017-01-25 17:28:17 +0100
commitf9022964cfa0a44984d2efa2dafe3452899acfdf (patch)
tree81c72f72094e60b8f5127562ac85b5046cf51c4e /package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch
parentacd1795a60ce85baae2817b78b8de683b14cb519 (diff)
downloadupstream-f9022964cfa0a44984d2efa2dafe3452899acfdf.tar.gz
upstream-f9022964cfa0a44984d2efa2dafe3452899acfdf.tar.bz2
upstream-f9022964cfa0a44984d2efa2dafe3452899acfdf.zip
ath9k: add stability fixes for long standing hang issues (FS#13, #34, #373, #383)
The radio would stop communicating completely. This issue was easiest to trigger on AR913x devices, e.g. the TP-Link TL-WR1043ND, but other hardware was occasionally affected as well. The most critical issue was a race condition in disabling/enabling IRQs between the IRQ handler and the IRQ processing tasklet Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch')
-rw-r--r--package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch4
1 files changed, 2 insertions, 2 deletions
diff --git a/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch b/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch
index 200a3a28f6..680bb6d590 100644
--- a/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch
+++ b/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch
@@ -40,7 +40,7 @@
return true;
}
-@@ -1816,8 +1835,14 @@ static int ath9k_hw_do_fastcc(struct ath
+@@ -1820,8 +1839,14 @@ static int ath9k_hw_do_fastcc(struct ath
if (AR_SREV_9271(ah))
ar9002_hw_load_ani_reg(ah, chan);
@@ -55,7 +55,7 @@
return -EINVAL;
}
-@@ -2071,6 +2096,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+@@ -2075,6 +2100,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st
ath9k_hw_set_radar_params(ah);
}