aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-02-29 17:19:04 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-02-29 17:19:04 +0000
commitf3a1db04f0ebba577598f1577d3c8c756c8bf757 (patch)
treeeecfe6c9154a9e0717573daba16d1c58bd674d2e /package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch
parent5db86ba649298bef0066cac8e4d0e17834f6b7b0 (diff)
downloadupstream-f3a1db04f0ebba577598f1577d3c8c756c8bf757.tar.gz
upstream-f3a1db04f0ebba577598f1577d3c8c756c8bf757.tar.bz2
upstream-f3a1db04f0ebba577598f1577d3c8c756c8bf757.zip
mac80211: backport from trunk r48782 + required kernel patches and mt76, mwlwifi
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48822 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch')
-rw-r--r--package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch b/package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch
new file mode 100644
index 0000000000..049059aa24
--- /dev/null
+++ b/package/kernel/mac80211/patches/304-ath9k-avoid-ANI-restart-if-no-trigger.patch
@@ -0,0 +1,32 @@
+From: Miaoqing Pan <miaoqing@codeaurora.org>
+Date: Fri, 15 Jan 2016 18:17:17 +0800
+Subject: [PATCH] ath9k: avoid ANI restart if no trigger
+
+Fixes commit 54da20d83f0e ("ath9k_hw: improve ANI processing and rx desensitizing parameters")
+
+Call ath9k_ani_restart() only when the phy error rate reach the
+ANI immunity threshold. Sync the logic with internal code base.
+
+Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
+---
+
+--- a/drivers/net/wireless/ath/ath9k/ani.c
++++ b/drivers/net/wireless/ath/ath9k/ani.c
+@@ -444,14 +444,16 @@ void ath9k_hw_ani_monitor(struct ath_hw
+ ofdmPhyErrRate < ah->config.ofdm_trig_low) {
+ ath9k_hw_ani_lower_immunity(ah);
+ aniState->ofdmsTurn = !aniState->ofdmsTurn;
++ ath9k_ani_restart(ah);
+ } else if (ofdmPhyErrRate > ah->config.ofdm_trig_high) {
+ ath9k_hw_ani_ofdm_err_trigger(ah);
+ aniState->ofdmsTurn = false;
++ ath9k_ani_restart(ah);
+ } else if (cckPhyErrRate > ah->config.cck_trig_high) {
+ ath9k_hw_ani_cck_err_trigger(ah);
+ aniState->ofdmsTurn = true;
++ ath9k_ani_restart(ah);
+ }
+- ath9k_ani_restart(ah);
+ }
+ }
+ EXPORT_SYMBOL(ath9k_hw_ani_monitor);