wifi: iwlwifi: mvm: update mac id management
authorGregory Greenman <gregory.greenman@intel.com>
Mon, 17 Apr 2023 08:41:21 +0000 (11:41 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 18 Apr 2023 12:47:54 +0000 (14:47 +0200)
The restriction where MAC ID 0 could be used only for the
managed/IBSS vif is not required when using the new MLO FW API.
Update the driver.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230417113648.e4355615da92.Iba934ccf8589c3c27a25a390dc5e938312889b45@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c

index 389eef4..cc90f28 100644 (file)
@@ -225,16 +225,20 @@ int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
         * that we should share it with another interface.
         */
 
-       /* Currently, MAC ID 0 should be used only for the managed/IBSS vif */
-       switch (vif->type) {
-       case NL80211_IFTYPE_ADHOC:
-               break;
-       case NL80211_IFTYPE_STATION:
-               if (!vif->p2p)
+       /* MAC ID 0 should be used only for the managed/IBSS vif with non-MLO
+        * FW API
+        */
+       if (!mvm->mld_api_is_used) {
+               switch (vif->type) {
+               case NL80211_IFTYPE_ADHOC:
                        break;
-               fallthrough;
-       default:
-               __clear_bit(0, data.available_mac_ids);
+               case NL80211_IFTYPE_STATION:
+                       if (!vif->p2p)
+                               break;
+                       fallthrough;
+               default:
+                       __clear_bit(0, data.available_mac_ids);
+               }
        }
 
        ieee80211_iterate_active_interfaces_atomic(