On Tue, Jul 14, 2009 at 11:11:48AM -0700, Luis R. Rodriguez wrote: > On Tue, Jul 14, 2009 at 11:03:48AM -0700, Luis Rodriguez wrote: > > Please try this patch instead, I've only compile tested this. Yeah, this works too. Thanks! -Steven Luo > Now without the double AP check :) > > From: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> > Subject: [PATCH] ath9k: Tune ANI function processing on AP mode during ANI reset > > For AP mode we must tune ANI specially for 2 GHz and > for 5 GHz. We mask in only the flags we want to toggle > on ath9k_hw_ani_control() through the ah->ani_function > bitmask, this will take care of ignoring changes during > ANI reset which we were disabling before. > > Reported-by: Steven Luo <steven@xxxxxxxxxxxxx> > Cc: Bennyam Malavazi <Bennyam.Malavazi@xxxxxxxxxxx > Cc: Jouni Malinen <Jouni.Malinen@xxxxxxxxxxx> > Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath9k/ani.c | 12 ++++++++++++ > 1 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/ani.c b/drivers/net/wireless/ath/ath9k/ani.c > --- a/drivers/net/wireless/ath/ath9k/ani.c > +++ b/drivers/net/wireless/ath/ath9k/ani.c > @@ -478,6 +478,18 @@ void ath9k_ani_reset(struct ath_hw *ah) > "Reset ANI state opmode %u\n", ah->opmode); > ah->stats.ast_ani_reset++; > > + if (ah->opmode == NL80211_IFTYPE_AP) { > + /* > + * ath9k_hw_ani_control() will only process items set on > + * ah->ani_function > + */ > + if (IS_CHAN_2GHZ(chan)) > + ah->ani_function = (ATH9K_ANI_SPUR_IMMUNITY_LEVEL | > + ATH9K_ANI_FIRSTEP_LEVEL); > + else > + ah->ani_function = 0; > + } > + > ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL, 0); > ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL, 0); > ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, 0); > -- > 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html