]> Pileus Git - ~andy/linux/blobdiff - drivers/net/wireless/ath/ath9k/ani.c
ath9k: Tune ANI function processing on AP mode during ANI reset
[~andy/linux] / drivers / net / wireless / ath / ath9k / ani.c
index 1aeafb511ddd8715207a74b5fece0a4d32cfb13e..aad259b4c1979c01f698a8354bb6c6d8374fb2c0 100644 (file)
@@ -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);