diff options
author | Eran Harary <eran.harary@intel.com> | 2014-07-15 07:04:23 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-07-22 12:21:13 -0400 |
commit | cc87d322930cc8b5bf17d871896faa6752609a66 (patch) | |
tree | 57506b9a66541dba67c7369c5344d97d6afa8769 /drivers/net/wireless | |
parent | 473ad712a49f8a7d9d2c5924a964a81a7ebf2e06 (diff) |
iwlwifi: mvm: update smart fifo / beacon filtering upon association
When we associate, we may have heard the beacon before the
association. In that case, BSS_CHANGED_BEACON_INFO will be
set along with BSS_CHANGED_ASSOC in changes in
bss_info_change.
In this case, we didn't update the smart fifo nor beacon
filtering leaving those two feature disabled.
Signed-off-by: Eran Harary <eran.harary@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mac80211.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c index bd924a1f7804..01af86af979a 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c | |||
@@ -1501,14 +1501,18 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm, | |||
1501 | */ | 1501 | */ |
1502 | iwl_mvm_remove_time_event(mvm, mvmvif, | 1502 | iwl_mvm_remove_time_event(mvm, mvmvif, |
1503 | &mvmvif->time_event_data); | 1503 | &mvmvif->time_event_data); |
1504 | iwl_mvm_sf_update(mvm, vif, false); | ||
1505 | WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); | ||
1506 | } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS | | 1504 | } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS | |
1507 | BSS_CHANGED_QOS)) { | 1505 | BSS_CHANGED_QOS)) { |
1508 | ret = iwl_mvm_power_update_mac(mvm); | 1506 | ret = iwl_mvm_power_update_mac(mvm); |
1509 | if (ret) | 1507 | if (ret) |
1510 | IWL_ERR(mvm, "failed to update power mode\n"); | 1508 | IWL_ERR(mvm, "failed to update power mode\n"); |
1511 | } | 1509 | } |
1510 | |||
1511 | if (changes & BSS_CHANGED_BEACON_INFO) { | ||
1512 | iwl_mvm_sf_update(mvm, vif, false); | ||
1513 | WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); | ||
1514 | } | ||
1515 | |||
1512 | if (changes & BSS_CHANGED_TXPOWER) { | 1516 | if (changes & BSS_CHANGED_TXPOWER) { |
1513 | IWL_DEBUG_CALIB(mvm, "Changing TX Power to %d\n", | 1517 | IWL_DEBUG_CALIB(mvm, "Changing TX Power to %d\n", |
1514 | bss_conf->txpower); | 1518 | bss_conf->txpower); |