]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt7925: use link-specific removal for non-MLD STA
authorSean Wang <sean.wang@mediatek.com>
Sat, 25 Apr 2026 19:50:01 +0000 (14:50 -0500)
committerFelix Fietkau <nbd@nbd.name>
Tue, 9 Jun 2026 10:15:21 +0000 (10:15 +0000)
Use the default link removal path for non-MLD STA instead of the
multi-link flow.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Link: https://patch.msgid.link/20260425195011.790265-12-sean.wang@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/main.c

index 5c4bf6126a034be822220272f3fd33a85e4b5446..74d65497cf9bbcafb6ef784ec8a5e3fb91f1812b 100644 (file)
@@ -1344,14 +1344,14 @@ void mt7925_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
        struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76);
        struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
        struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
-       unsigned long rem;
 
-       rem = ieee80211_vif_is_mld(vif) ? msta->valid_links : BIT(0);
-
-       mt7925_mac_sta_remove_links(dev, vif, sta, rem);
-
-       if (ieee80211_vif_is_mld(vif))
+       if (ieee80211_vif_is_mld(vif)) {
+               mt7925_mac_sta_remove_links(dev, vif, sta, msta->valid_links);
                mt7925_mcu_del_dev(mdev, vif);
+       } else {
+               mt7925_mac_link_sta_remove(mdev, vif, &sta->deflink,
+                                          &msta->deflink);
+       }
 
        if (vif->type == NL80211_IFTYPE_STATION) {
                mvif->wep_sta = NULL;