From: Greg Kroah-Hartman Date: Tue, 3 Jun 2014 20:35:46 +0000 (-0700) Subject: 3.14-stable patches X-Git-Tag: v3.14.6~80 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ec2270373a41a1c721d6b55ea33c54dc5a3898b;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches added patches: iwlwifi-mvm-delay-enabling-smart-fifo-until-after-beacon-rx.patch --- diff --git a/queue-3.14/iwlwifi-mvm-delay-enabling-smart-fifo-until-after-beacon-rx.patch b/queue-3.14/iwlwifi-mvm-delay-enabling-smart-fifo-until-after-beacon-rx.patch new file mode 100644 index 00000000000..c19adbcc956 --- /dev/null +++ b/queue-3.14/iwlwifi-mvm-delay-enabling-smart-fifo-until-after-beacon-rx.patch @@ -0,0 +1,51 @@ +From 0229cdafb6f67064a217591d48b0f6abf14e8385 Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Wed, 19 Mar 2014 18:36:39 +0100 +Subject: iwlwifi: mvm: delay enabling smart FIFO until after beacon RX + +From: Johannes Berg + +commit 0229cdafb6f67064a217591d48b0f6abf14e8385 upstream. + +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. + +Fixes: 1f3b0ff8ecce ("iwlwifi: mvm: Add Smart FIFO support") +Signed-off-by: Johannes Berg +Signed-off-by: Emmanuel Grumbach +Signed-off-by: Greg Kroah-Hartman + + +--- + drivers/net/wireless/iwlwifi/mvm/mac80211.c | 1 + + drivers/net/wireless/iwlwifi/mvm/sf.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c ++++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c +@@ -971,6 +971,7 @@ static void iwl_mvm_bss_info_changed_sta + */ + iwl_mvm_remove_time_event(mvm, mvmvif, + &mvmvif->time_event_data); ++ iwl_mvm_sf_update(mvm, vif, false); + } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS | + BSS_CHANGED_QOS)) { + ret = iwl_mvm_power_update_mode(mvm, vif); +--- 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 *mv + 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; diff --git a/queue-3.14/series b/queue-3.14/series index 337f8d3ac6f..b897068f192 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -39,3 +39,4 @@ drivers-rtc-rtc-hym8563.c-set-uie_unsupported.patch x86-mm-hugetlb-add-missing-tlb-page-invalidation-for-hugetlb_cow.patch arm64-fix-pud_huge-for-2-level-pagetables.patch hwpoison-hugetlb-lock_page-unlock_page-does-not-match-for-handling-a-free-hugepage.patch +iwlwifi-mvm-delay-enabling-smart-fifo-until-after-beacon-rx.patch