summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Wang <sean.wang@mediatek.com>2026-04-25 14:50:01 -0500
committerFelix Fietkau <nbd@nbd.name>2026-06-09 10:15:21 +0000
commitb2f5def2f133fca12897b0fc707a8d3df1c3cb05 (patch)
tree9b9ff35ca2a0d06197c6347d55f5a1af43f03088
parent60dac6072dbcb35e077906c43e58ed71436af992 (diff)
wifi: mt76: mt7925: use link-specific removal for non-MLD STA
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>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7925/main.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net/wireless/mediatek/mt76/mt7925/main.c
index 5c4bf6126a03..74d65497cf9b 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/main.c
@@ -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;