iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sat, 7 Nov 2020 08:50:07 +0000 (10:50 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 10 Nov 2020 18:45:31 +0000 (20:45 +0200)
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.grumbach@intel.com>
Fixes: fe959c7b2049 ("iwlwifi: mvm: use the new session protection command")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201107104557.a317376154da.I44fa3637373ba4bd421cdff2cabc761bffc0735f@changeid
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c

index 7fce79c..a9ebe69 100644 (file)
@@ -988,10 +988,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);