aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2014-08-10 10:00:15 -0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-09-03 15:48:49 -0400
commit228670b2e6f8d32f11d27c5165fb42a2c77f062c (patch)
tree0f9865dcf38566288d198ccc6e18124b5e386ce5
parent9ecd051ecd87d0a361c85064e57b27dc825d012e (diff)
iwlwifi: mvm: clear d0i3 state on recovery
If recovery happened after mvm entered d0i3 (e.g. due to sysassert when releasing the bus), the mvm->state wasn't cleared properly, causing the ongoing recovery to fail (due to iwl_mvm_ref_sync failure). This in turn fails the ongoing recovery, and triggers a reprobe, which terminates any ongoing wifi activity. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Reviewed-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 83c2ce60cdbb..de4ae94f07e0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -803,6 +803,9 @@ static void iwl_mvm_restart_cleanup(struct iwl_mvm *mvm)
803 * ucode_down ref until reconfig is complete */ 803 * ucode_down ref until reconfig is complete */
804 iwl_mvm_unref_all_except(mvm, IWL_MVM_REF_UCODE_DOWN); 804 iwl_mvm_unref_all_except(mvm, IWL_MVM_REF_UCODE_DOWN);
805 805
806 /* clear any stale d0i3 state */
807 clear_bit(IWL_MVM_STATUS_IN_D0I3, &mvm->status);
808
806 mvm->vif_count = 0; 809 mvm->vif_count = 0;
807 mvm->rx_ba_sessions = 0; 810 mvm->rx_ba_sessions = 0;
808} 811}