aniState->rssiThrLow, aniState->rssiThrHigh);
 
        if (aniState->update_ani)
-               aniState->ofdmNoiseImmunityLevel =
-                       (immunityLevel > ATH9K_ANI_OFDM_DEF_LEVEL) ?
-                       immunityLevel : ATH9K_ANI_OFDM_DEF_LEVEL;
+               aniState->ofdmNoiseImmunityLevel = immunityLevel;
 
        entry_ofdm = &ofdm_level_table[aniState->ofdmNoiseImmunityLevel];
        entry_cck = &cck_level_table[aniState->cckNoiseImmunityLevel];
                immunityLevel = ATH9K_ANI_CCK_MAX_LEVEL_LOW_RSSI;
 
        if (aniState->update_ani)
-               aniState->cckNoiseImmunityLevel =
-                       (immunityLevel > ATH9K_ANI_CCK_DEF_LEVEL) ?
-                       immunityLevel : ATH9K_ANI_CCK_DEF_LEVEL;
+               aniState->cckNoiseImmunityLevel = immunityLevel;
 
        entry_ofdm = &ofdm_level_table[aniState->ofdmNoiseImmunityLevel];
        entry_cck = &cck_level_table[aniState->cckNoiseImmunityLevel];
        struct ar5416AniState *aniState = &ah->curchan->ani;
        struct ath9k_channel *chan = ah->curchan;
        struct ath_common *common = ath9k_hw_common(ah);
+       int ofdm_nil, cck_nil;
 
        if (!DO_ANI(ah))
                return;
        /* always allow mode (on/off) to be controlled */
        ah->ani_function |= ATH9K_ANI_MODE;
 
+       ofdm_nil = max_t(int, ATH9K_ANI_OFDM_DEF_LEVEL,
+                        aniState->ofdmNoiseImmunityLevel);
+       cck_nil = max_t(int, ATH9K_ANI_CCK_DEF_LEVEL,
+                        aniState->cckNoiseImmunityLevel);
+
        if (is_scanning ||
            (ah->opmode != NL80211_IFTYPE_STATION &&
             ah->opmode != NL80211_IFTYPE_ADHOC)) {
                                aniState->cckNoiseImmunityLevel);
 
                        aniState->update_ani = false;
-                       ath9k_hw_set_ofdm_nil(ah, ATH9K_ANI_OFDM_DEF_LEVEL);
-                       ath9k_hw_set_cck_nil(ah, ATH9K_ANI_CCK_DEF_LEVEL);
+                       ofdm_nil = ATH9K_ANI_OFDM_DEF_LEVEL;
+                       cck_nil = ATH9K_ANI_CCK_DEF_LEVEL;
                }
        } else {
                /*
                        aniState->cckNoiseImmunityLevel);
 
                        aniState->update_ani = true;
-                       ath9k_hw_set_ofdm_nil(ah,
-                                             aniState->ofdmNoiseImmunityLevel);
-                       ath9k_hw_set_cck_nil(ah,
-                                            aniState->cckNoiseImmunityLevel);
        }
+       ath9k_hw_set_ofdm_nil(ah, ofdm_nil);
+       ath9k_hw_set_cck_nil(ah, cck_nil);
 
        /*
         * enable phy counters if hw supports or if not, enable phy