mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
ath9k: fix ANI weak signal detection handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32045 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
30
package/mac80211/patches/571-ath9k_ani_fix_weak_sig.patch
Normal file
30
package/mac80211/patches/571-ath9k_ani_fix_weak_sig.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/ani.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ani.c
|
||||
@@ -265,6 +265,7 @@ static void ath9k_hw_set_ofdm_nil(struct
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
const struct ani_ofdm_level_entry *entry_ofdm;
|
||||
const struct ani_cck_level_entry *entry_cck;
|
||||
+ bool weak_sig;
|
||||
|
||||
ath_dbg(common, ANI, "**** ofdmlevel %d=>%d, rssi=%d[lo=%d hi=%d]\n",
|
||||
aniState->ofdmNoiseImmunityLevel,
|
||||
@@ -290,13 +291,15 @@ static void ath9k_hw_set_ofdm_nil(struct
|
||||
ATH9K_ANI_FIRSTEP_LEVEL,
|
||||
entry_ofdm->fir_step_level);
|
||||
|
||||
- if (BEACON_RSSI(ah) >= aniState->rssiThrHigh &&
|
||||
- (!aniState->ofdmWeakSigDetectOff !=
|
||||
- entry_ofdm->ofdm_weak_signal_on)) {
|
||||
+ weak_sig = entry_ofdm->ofdm_weak_signal_on;
|
||||
+ if (ah->opmode == NL80211_IFTYPE_STATION &&
|
||||
+ BEACON_RSSI(ah) >= aniState->rssiThrHigh)
|
||||
+ weak_sig = true;
|
||||
+
|
||||
+ if (!aniState->ofdmWeakSigDetectOff != weak_sig)
|
||||
ath9k_hw_ani_control(ah,
|
||||
ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
|
||||
entry_ofdm->ofdm_weak_signal_on);
|
||||
- }
|
||||
}
|
||||
|
||||
static void ath9k_hw_ani_ofdm_err_trigger(struct ath_hw *ah)
|
||||
Reference in New Issue
Block a user