From: Emmanuel Grumbach <emmanuel.grumb...@intel.com>

[ Upstream commit fb8d1b6e97980057b7ebed444b8950e57f268a67 ]

The ROC that runs on the AUX ROC (meaning an ROC on the STA vif),
was added with the HOT_SPOT_CMD firmware command and must be
cancelled with that same command.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumb...@intel.com>
Fixes: fe959c7b2049 ("iwlwifi: mvm: use the new session protection command")
Signed-off-by: Luca Coelho <luciano.coe...@intel.com>
Signed-off-by: Kalle Valo <kv...@codeaurora.org>
Link: 
https://lore.kernel.org/r/iwlwifi.20201107104557.a317376154da.I44fa3637373ba4bd421cdff2cabc761bffc0735f@changeid
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
index 1babc4bb5194b..da52c1e433a29 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
@@ -985,10 +985,13 @@ void iwl_mvm_stop_roc(struct iwl_mvm *mvm, struct 
ieee80211_vif *vif)
                        IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD)) {
                mvmvif = iwl_mvm_vif_from_mac80211(vif);
 
-               iwl_mvm_cancel_session_protection(mvm, mvmvif);
-
-               if (vif->type == NL80211_IFTYPE_P2P_DEVICE)
+               if (vif->type == NL80211_IFTYPE_P2P_DEVICE) {
+                       iwl_mvm_cancel_session_protection(mvm, mvmvif);
                        set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status);
+               } else {
+                       iwl_mvm_remove_aux_roc_te(mvm, mvmvif,
+                                                 &mvmvif->time_event_data);
+               }
 
                iwl_mvm_roc_finished(mvm);
 
-- 
2.27.0



Reply via email to