diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2009-09-10 23:00:03 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-09-14 14:36:03 -0400 |
commit | d37b7da39dbac8197e41a5f9c8162730f6b36d8b (patch) | |
tree | 34f9dc2444136bf56796522b2e8604e125faf3a8 /drivers/net/wireless/ath/ath9k/ani.c | |
parent | 32f6afd82c1c4e9415db9f8d18e3fd6fc65cfd46 (diff) |
ath9k: Fix bug in ANI channel handling
When processing MIB interrupts, OFDM and CCK error
handling routines for low RSSI values have to be invoked
only when the channel mode is 11G/11B. Since HT channels
will also fall under the bands 2Ghz/5Ghz, check appropriately.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ani.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ani.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ani.c b/drivers/net/wireless/ath/ath9k/ani.c index a7cbb07988cf..2b493742ef10 100644 --- a/drivers/net/wireless/ath/ath9k/ani.c +++ b/drivers/net/wireless/ath/ath9k/ani.c | |||
@@ -327,7 +327,8 @@ static void ath9k_hw_ani_ofdm_err_trigger(struct ath_hw *ah) | |||
327 | aniState->firstepLevel + 1); | 327 | aniState->firstepLevel + 1); |
328 | return; | 328 | return; |
329 | } else { | 329 | } else { |
330 | if (conf->channel->band == IEEE80211_BAND_2GHZ) { | 330 | if ((conf->channel->band == IEEE80211_BAND_2GHZ) && |
331 | !conf_is_ht(conf)) { | ||
331 | if (!aniState->ofdmWeakSigDetectOff) | 332 | if (!aniState->ofdmWeakSigDetectOff) |
332 | ath9k_hw_ani_control(ah, | 333 | ath9k_hw_ani_control(ah, |
333 | ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION, | 334 | ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION, |
@@ -369,7 +370,8 @@ static void ath9k_hw_ani_cck_err_trigger(struct ath_hw *ah) | |||
369 | ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, | 370 | ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, |
370 | aniState->firstepLevel + 1); | 371 | aniState->firstepLevel + 1); |
371 | } else { | 372 | } else { |
372 | if (conf->channel->band == IEEE80211_BAND_2GHZ) { | 373 | if ((conf->channel->band == IEEE80211_BAND_2GHZ) && |
374 | !conf_is_ht(conf)) { | ||
373 | if (aniState->firstepLevel > 0) | 375 | if (aniState->firstepLevel > 0) |
374 | ath9k_hw_ani_control(ah, | 376 | ath9k_hw_ani_control(ah, |
375 | ATH9K_ANI_FIRSTEP_LEVEL, 0); | 377 | ATH9K_ANI_FIRSTEP_LEVEL, 0); |