diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-11-28 08:25:21 -0500 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-12-09 15:34:28 -0500 |
commit | 710e4d08f2ab6eed7950884ab30e684704e325ca (patch) | |
tree | e0d9da1fe93b83621e87ca8cbef5bd723b8f14da | |
parent | 9d10849e4ea8bf9d8da80afa73918a9fe45c09ef (diff) |
iwlwifi: mvm: don't send SMPS action frame with single RX antenna
Products that have only 1 antenna in Rx don't support MIMO
in RX. As a consequence, they will be in STATIC always.
Don't tell mac80211 to update SMPS in that case. mac80211
would send an action frame to the AP which is clearly
bogus.
As a matter of fact, we have seen that some APs send a
deauth when that happens.
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/utils.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/utils.c b/drivers/net/wireless/iwlwifi/mvm/utils.c index 56cf819bc0c7..f4aff56a36da 100644 --- a/drivers/net/wireless/iwlwifi/mvm/utils.c +++ b/drivers/net/wireless/iwlwifi/mvm/utils.c | |||
@@ -518,6 +518,11 @@ void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, | |||
518 | int i; | 518 | int i; |
519 | 519 | ||
520 | lockdep_assert_held(&mvm->mutex); | 520 | lockdep_assert_held(&mvm->mutex); |
521 | |||
522 | /* SMPS is irrelevant for NICs that don't have at least 2 RX antenna */ | ||
523 | if (num_of_ant(iwl_fw_valid_rx_ant(mvm->fw)) == 1) | ||
524 | return; | ||
525 | |||
521 | mvmvif = iwl_mvm_vif_from_mac80211(vif); | 526 | mvmvif = iwl_mvm_vif_from_mac80211(vif); |
522 | mvmvif->smps_requests[req_type] = smps_request; | 527 | mvmvif->smps_requests[req_type] = smps_request; |
523 | for (i = 0; i < NUM_IWL_MVM_SMPS_REQ; i++) { | 528 | for (i = 0; i < NUM_IWL_MVM_SMPS_REQ; i++) { |