iwlwifi: mvm: disconnect on disconnection wakeup event
When waking up from d3 due to disconnection event (e.g. because of beacon loss), we should disconnect immediately. Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Luciano Coelho <luciano.coelho@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
4ed80a86da
commit
431591ccb3
drivers/net/wireless/iwlwifi/mvm
|
@ -1533,10 +1533,16 @@ static bool iwl_mvm_setup_connection_keep(struct iwl_mvm *mvm,
|
||||||
struct iwl_mvm_d3_gtk_iter_data gtkdata = {
|
struct iwl_mvm_d3_gtk_iter_data gtkdata = {
|
||||||
.status = status,
|
.status = status,
|
||||||
};
|
};
|
||||||
|
u32 disconnection_reasons =
|
||||||
|
IWL_WOWLAN_WAKEUP_BY_DISCONNECTION_ON_MISSED_BEACON |
|
||||||
|
IWL_WOWLAN_WAKEUP_BY_DISCONNECTION_ON_DEAUTH;
|
||||||
|
|
||||||
if (!status || !vif->bss_conf.bssid)
|
if (!status || !vif->bss_conf.bssid)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (le32_to_cpu(status->wakeup_reasons) & disconnection_reasons)
|
||||||
|
return false;
|
||||||
|
|
||||||
/* find last GTK that we used initially, if any */
|
/* find last GTK that we used initially, if any */
|
||||||
gtkdata.find_phase = true;
|
gtkdata.find_phase = true;
|
||||||
ieee80211_iter_keys(mvm->hw, vif,
|
ieee80211_iter_keys(mvm->hw, vif,
|
||||||
|
|
Loading…
Reference in New Issue