wifi: mac80211_hwsim: enable all links only in MLO
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Mon, 29 Jan 2024 19:00:52 +0000 (20:00 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 2 Feb 2024 13:20:43 +0000 (14:20 +0100)
The existing code is enabling all usable links when moving to
authorized state, but this should happen only for MLO connections.
Fix this.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129200054.f5459f6c29c8.I397814449e17950fcf882ef44a1e790a71aa1dce@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/virtual/mac80211_hwsim.c

index 3adc11bcaf1282d7f56ccc6808942b707787658b..a06a462d38f0889bf255284c34f27e6ecec43b47 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
  * Copyright (c) 2011, Javier Lopez <jlopex@gmail.com>
  * Copyright (c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright (C) 2018 - 2023 Intel Corporation
+ * Copyright (C) 2018 - 2024 Intel Corporation
  */
 
 /*
@@ -2671,10 +2671,11 @@ static int mac80211_hwsim_sta_state(struct ieee80211_hw *hw,
                return mac80211_hwsim_sta_add(hw, vif, sta);
 
        /*
-        * when client is authorized (AP station marked as such),
-        * enable all links
+        * in an MLO connection, when client is authorized
+        * (AP station marked as such), enable all links
         */
-       if (vif->type == NL80211_IFTYPE_STATION &&
+       if (ieee80211_vif_is_mld(vif) &&
+           vif->type == NL80211_IFTYPE_STATION &&
            new_state == IEEE80211_STA_AUTHORIZED && !sta->tdls)
                ieee80211_set_active_links_async(vif,
                                                 ieee80211_vif_usable_links(vif));