mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-04 16:25:34 +00:00
iwlwifi: mvm: fix AUX ROC removal
When IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD is set, removing a time event always tries to cancel session protection. However, AUX ROC does not use session protection so it was never removed. As a result, if the driver tries to allocate another AUX ROC event right after cancelling the first one, it will fail with a warning. In addition, the time event data passed to iwl_mvm_remove_aux_roc_te() is incorrect. Fix it. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20211219132536.915e1f69f062.Id837e917f1c2beaca7c1eb33333d622548918a76@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
22a1ee8e1e
commit
f0337cb48f
1 changed files with 6 additions and 3 deletions
|
@ -696,11 +696,14 @@ static bool __iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
|
|||
iwl_mvm_te_clear_data(mvm, te_data);
|
||||
spin_unlock_bh(&mvm->time_event_lock);
|
||||
|
||||
/* When session protection is supported, the te_data->id field
|
||||
/* When session protection is used, the te_data->id field
|
||||
* is reused to save session protection's configuration.
|
||||
* For AUX ROC, HOT_SPOT_CMD is used and the te_data->id field is set
|
||||
* to HOT_SPOT_CMD.
|
||||
*/
|
||||
if (fw_has_capa(&mvm->fw->ucode_capa,
|
||||
IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD)) {
|
||||
IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD) &&
|
||||
id != HOT_SPOT_CMD) {
|
||||
if (mvmvif && id < SESSION_PROTECT_CONF_MAX_ID) {
|
||||
/* Session protection is still ongoing. Cancel it */
|
||||
iwl_mvm_cancel_session_protection(mvm, mvmvif, id);
|
||||
|
@ -1036,7 +1039,7 @@ void iwl_mvm_stop_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
|||
iwl_mvm_p2p_roc_finished(mvm);
|
||||
} else {
|
||||
iwl_mvm_remove_aux_roc_te(mvm, mvmvif,
|
||||
&mvmvif->time_event_data);
|
||||
&mvmvif->hs_time_event_data);
|
||||
iwl_mvm_roc_finished(mvm);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue