ath9k: Fix OFDM weak signal detection for AP mode
PATCH 1/1 ath9k: Fix OFDM weak signal detection for AP mode
From: Sujith Manoharan <[email protected]>
The commit "ath9k_hw: improve ANI processing and rx desensitizing parameters" changed the OFDM weak signal detection logic to disable it
for AP mode, which is not allowed. Fix this and enable it always for AP mode.
Signed-off-by Sujith Manoharan <[email protected]>
--- drivers/net/wireless/ath/ath9k/ani.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath9k/ani.c +9 -4
@@ -177,10 +177,15 @@ static void ath9k_hw_set_ofdm_nil(struct ath_hw *ah, u8 immunityLevel, BEACON_RSSI(ah) <= ATH9K_ANI_RSSI_THR_HIGH) weak_sig = true; -if (aniState->ofdmWeakSigDetect != weak_sig) -ath9k_hw_ani_control (ah, -ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION , - entry_ofdm->ofdm_weak_signal_on); +/* +* OFDM Weak signal detection is always enabled for AP mode. +*/ +if (ah->opmode !=NL80211_IFTYPE_AP && + aniState->ofdmWeakSigDetect != weak_sig) { +ath9k_hw_ani_control (ah, +ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION , + entry_ofdm->ofdm_weak_signal_on); + }if (aniState->ofdmNoiseImmunityLevel >=ATH9K_ANI_OFDM_DEF_LEVEL ) { ah->config.ofdm_trig_high =ATH9K_ANI_OFDM_TRIG_HIGH ;
Signature · 1 line
1.8.3
PATCH 1/1 ath9k: Remove redundant code
From: Sujith Manoharan <[email protected]>
The phy error mask registers are programmed already in ath9k_ani_restart(), so there is no need to set them in ath9k_ani_reset().
Signed-off-by Sujith Manoharan <[email protected]>
--- drivers/net/wireless/ath/ath9k/ani.c | 11 ----------- 1 file changed, 11 deletions(-)
drivers/net/wireless/ath/ath9k/ani.c +0 -11
@@ -368,18 +368,7 @@ void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning)ath9k_hw_set_ofdm_nil (ah, ofdm_nil, is_scanning);ath9k_hw_set_cck_nil (ah, cck_nil, is_scanning); -/* -* enable phy counters if hw supports or if not, enable phy -* interrupts (so we can count each one) -*/ ath9k_ani_restart (ah); - -ENABLE_REGWRITE_BUFFER (ah); - -REG_WRITE (ah,AR_PHY_ERR_MASK_1 ,AR_PHY_ERR_OFDM_TIMING ); -REG_WRITE (ah,AR_PHY_ERR_MASK_2 ,AR_PHY_ERR_CCK_TIMING ); - -REGWRITE_BUFFER_FLUSH (ah); }static bool ath9k_hw_ani_read_counters (struct ath_hw *ah)
Signature · 1 line
1.8.3