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>
This commit is contained in:
parent
9ecd051ecd
commit
228670b2e6
|
@ -803,6 +803,9 @@ static void iwl_mvm_restart_cleanup(struct iwl_mvm *mvm)
|
||||||
* ucode_down ref until reconfig is complete */
|
* ucode_down ref until reconfig is complete */
|
||||||
iwl_mvm_unref_all_except(mvm, IWL_MVM_REF_UCODE_DOWN);
|
iwl_mvm_unref_all_except(mvm, IWL_MVM_REF_UCODE_DOWN);
|
||||||
|
|
||||||
|
/* clear any stale d0i3 state */
|
||||||
|
clear_bit(IWL_MVM_STATUS_IN_D0I3, &mvm->status);
|
||||||
|
|
||||||
mvm->vif_count = 0;
|
mvm->vif_count = 0;
|
||||||
mvm->rx_ba_sessions = 0;
|
mvm->rx_ba_sessions = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue