mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
wifi: mt76: mt7996: fix teardown command for an MLD peer
For an MLD peer, we only need to call the teardown command when removing
the last link, and there's no need to call mt7996_mcu_add_sta() for the
earlier links.
Fixes: c1d6dd5d03 ("wifi: mt76: mt7996: Add mt7996_mcu_teardown_mld_sta rouine")
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20251106064203.1000505-6-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
Felix Fietkau
parent
bb705a6067
commit
e077071e7a
@@ -1206,13 +1206,13 @@ mt7996_mac_sta_event(struct mt7996_dev *dev, struct ieee80211_vif *vif,
|
||||
mt7996_mac_twt_teardown_flow(dev, link,
|
||||
msta_link, i);
|
||||
|
||||
if (sta->mlo && links == BIT(link_id)) /* last link */
|
||||
mt7996_mcu_teardown_mld_sta(dev, link,
|
||||
msta_link);
|
||||
else
|
||||
if (!sta->mlo)
|
||||
mt7996_mcu_add_sta(dev, link_conf, link_sta,
|
||||
link, msta_link,
|
||||
CONN_STATE_DISCONNECT, false);
|
||||
else if (sta->mlo && links == BIT(link_id)) /* last link */
|
||||
mt7996_mcu_teardown_mld_sta(dev, link,
|
||||
msta_link);
|
||||
msta_link->wcid.sta_disabled = 1;
|
||||
msta_link->wcid.sta = 0;
|
||||
links = links & ~BIT(link_id);
|
||||
|
||||
Reference in New Issue
Block a user