wifi: iwlwifi: mvm: don't reset link selection during restart
authorJohannes Berg <johannes.berg@intel.com>
Sun, 5 May 2024 06:19:59 +0000 (09:19 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 6 May 2024 14:33:24 +0000 (16:33 +0200)
After restart, we might want to end up with the same config
as before, even for multi-link/EMLSR. Therefore, don't reset
the stored link selection result in that case.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240505091420.e81db303f1dc.Ie8267082f623d14376a2052d222e18da6545f34b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index dbfbbfb5b678e3e9874b56c657f5a825b134f483..57a0d8af9b28ab8b58aa4604bca5ef7d39f068c8 100644 (file)
@@ -3937,9 +3937,12 @@ iwl_mvm_sta_state_assoc_to_authorized(struct iwl_mvm *mvm,
                WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif));
 
                mvmvif->authorized = 1;
-               mvmvif->link_selection_res = vif->active_links;
-               mvmvif->link_selection_primary =
-                       vif->active_links ? __ffs(vif->active_links) : 0;
+
+               if (!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
+                       mvmvif->link_selection_res = vif->active_links;
+                       mvmvif->link_selection_primary =
+                               vif->active_links ? __ffs(vif->active_links) : 0;
+               }
 
                callbacks->mac_ctxt_changed(mvm, vif, false);
                iwl_mvm_mei_host_associated(mvm, vif, mvm_sta);