]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: Enhance mt7925_mac_link_sta_add to support MLO
authorMing Yen Hsieh <mingyen.hsieh@mediatek.com>
Wed, 11 Dec 2024 01:19:18 +0000 (17:19 -0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 14 Jan 2025 12:34:35 +0000 (13:34 +0100)
Enhance mt7925_mac_link_sta_add to support MLO.

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-9-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/main.c

index 3cd3c3e289e72802259467b93959810ebf52eefa..1140af657793784933f2e4895ade7af34ae4c4de 100644 (file)
@@ -878,9 +878,14 @@ static int mt7925_mac_link_sta_add(struct mt76_dev *mdev,
        link_conf = mt792x_vif_to_bss_conf(vif, link_id);
 
        /* should update bss info before STA add */
-       if (vif->type == NL80211_IFTYPE_STATION && !link_sta->sta->tdls)
-               mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
-                                       link_conf, link_sta, false);
+       if (vif->type == NL80211_IFTYPE_STATION && !link_sta->sta->tdls) {
+               if (ieee80211_vif_is_mld(vif))
+                       mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
+                                               link_conf, link_sta, link_sta != mlink->pri_link);
+               else
+                       mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
+                                               link_conf, link_sta, false);
+       }
 
        if (ieee80211_vif_is_mld(vif) &&
            link_sta == mlink->pri_link) {