]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7925: Fix incorrect MLD address in bss_mld_tlv for MLO support
authorMing Yen Hsieh <mingyen.hsieh@mediatek.com>
Wed, 11 Dec 2024 01:19:11 +0000 (17:19 -0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 14 Jan 2025 12:34:34 +0000 (13:34 +0100)
For this TLV, the address should be set to the MLD address rather than
the link address.

Fixes: 86c051f2c418 ("wifi: mt76: mt7925: enabling MLO when the firmware supports it")
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Link: https://patch.msgid.link/20241211011926.5002-2-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c

index 123a585098e3bcb41919b91b5e2ae7d724356599..7105705113baa1ec31e735ad6e97ad40944c4d4d 100644 (file)
@@ -2459,6 +2459,7 @@ static void
 mt7925_mcu_bss_mld_tlv(struct sk_buff *skb,
                       struct ieee80211_bss_conf *link_conf)
 {
+       struct ieee80211_vif *vif = link_conf->vif;
        struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
        struct mt792x_vif *mvif = (struct mt792x_vif *)link_conf->vif->drv_priv;
        struct bss_mld_tlv *mld;
@@ -2479,7 +2480,7 @@ mt7925_mcu_bss_mld_tlv(struct sk_buff *skb,
        mld->eml_enable = !!(link_conf->vif->cfg.eml_cap &
                             IEEE80211_EML_CAP_EMLSR_SUPP);
 
-       memcpy(mld->mac_addr, link_conf->addr, ETH_ALEN);
+       memcpy(mld->mac_addr, vif->addr, ETH_ALEN);
 }
 
 static void