wifi: iwlwifi: mvm: use STA link address
authorJohannes Berg <johannes.berg@intel.com>
Wed, 29 Mar 2023 07:05:10 +0000 (10:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 30 Mar 2023 10:08:37 +0000 (12:08 +0200)
For now we only support a single link, so just use the
deflink's address for the link address, instead of the
STA's (MLD) address, but use the link address anyway
in order to facilitate MLO connections.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230329100039.c853c8ced3ba.I2e1915d1090c526e6a4c718440b45a7192bbbb03@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c

index 7a01295949fa1347c9c4f76bcc66a2d63b595bb3..da9d2cefa509d5384317e4cd4d85bb6b22d8dd3a 100644 (file)
@@ -398,9 +398,9 @@ static int iwl_mvm_mld_cfg_sta(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
 
        cmd.link_id = cpu_to_le32(link_info->fw_link_id);
 
-       /* For now the link addr is the same as the mld addr */
        memcpy(&cmd.peer_mld_address, sta->addr, ETH_ALEN);
-       memcpy(&cmd.peer_link_address, sta->addr, ETH_ALEN);
+       /* FIXME: use the correct link */
+       memcpy(&cmd.peer_link_address, sta->deflink.addr, ETH_ALEN);
 
        if (mvm_sta->sta_state >= IEEE80211_STA_ASSOC)
                cmd.assoc_id = cpu_to_le32(sta->aid);