summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi/mvm/sf.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-03-19 21:36:39 +0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-04-13 09:26:51 +0400
commit0229cdafb6f67064a217591d48b0f6abf14e8385 (patch)
treef9d3968ed61c7430b2af7d6bbf30a53f0e992c42 /drivers/net/wireless/iwlwifi/mvm/sf.c
parent67b3bd4e65f0854aca70e0134d59b1daede49504 (diff)
downloadlinux-0229cdafb6f67064a217591d48b0f6abf14e8385.tar.xz
iwlwifi: mvm: delay enabling smart FIFO until after beacon RX
If we have no beacon data before association, delay smart FIFO enablement until after we have this data. Not doing so can cause association failures in extremely silent environments (usually only a shielded box/room) as beacon RX is not sent to the host immediately, and then the association time event ends without the host receiving any beacon even though it was on the air - it's just stuck on the FIFO. Cc: <stable@vger.kernel.org> [3.14] Fixes: 1f3b0ff8ecce ("iwlwifi: mvm: Add Smart FIFO support") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/sf.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/sf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/sf.c b/drivers/net/wireless/iwlwifi/mvm/sf.c
index 8401627c0030..88809b2d1654 100644
--- a/drivers/net/wireless/iwlwifi/mvm/sf.c
+++ b/drivers/net/wireless/iwlwifi/mvm/sf.c
@@ -274,7 +274,8 @@ int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *changed_vif,
return -EINVAL;
if (changed_vif->type != NL80211_IFTYPE_STATION) {
new_state = SF_UNINIT;
- } else if (changed_vif->bss_conf.assoc) {
+ } else if (changed_vif->bss_conf.assoc &&
+ changed_vif->bss_conf.dtim_period) {
mvmvif = iwl_mvm_vif_from_mac80211(changed_vif);
sta_id = mvmvif->ap_sta_id;
new_state = SF_FULL_ON;