]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: mvm: allow ESR when we the ROC expires
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 25 Aug 2024 16:17:11 +0000 (19:17 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 27 Aug 2024 08:28:56 +0000 (10:28 +0200)
We forgot to release the ROC reason for ESR prevention when the remain
on channel expires.
Add this.

Fixes: a1efeb823084 ("wifi: iwlwifi: mvm: Block EMLSR when a p2p/softAP vif is active")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240825191257.8f8765f359cc.I16fcd6198072d422ff36dce68070aafaf011f4c1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c

index a8c42ce3b6300816ccc9d0a18c0aeeb01e9d1b2a..72fa7ac86516cda424b411354372f51ef9749820 100644 (file)
@@ -114,16 +114,14 @@ static void iwl_mvm_cleanup_roc(struct iwl_mvm *mvm)
                iwl_mvm_flush_sta(mvm, mvm->aux_sta.sta_id,
                                  mvm->aux_sta.tfd_queue_msk);
 
-               if (mvm->mld_api_is_used) {
-                       iwl_mvm_mld_rm_aux_sta(mvm);
-                       mutex_unlock(&mvm->mutex);
-                       return;
-               }
-
                /* In newer version of this command an aux station is added only
                 * in cases of dedicated tx queue and need to be removed in end
-                * of use */
-               if (iwl_mvm_has_new_station_api(mvm->fw))
+                * of use. For the even newer mld api, use the appropriate
+                * function.
+                */
+               if (mvm->mld_api_is_used)
+                       iwl_mvm_mld_rm_aux_sta(mvm);
+               else if (iwl_mvm_has_new_station_api(mvm->fw))
                        iwl_mvm_rm_aux_sta(mvm);
        }