[PATCH 00/19] wifi: mt76: mt7925: fix up MLO link lifetime and error handling
Sean Wang
sean.wang at kernel.org
Fri Mar 6 15:22:19 PST 2026
From: Sean Wang <sean.wang at mediatek.com>
Hi,
This series fix up MLO link STA lifetime and error handling in mt7925.
The current add path may expose partially initialized links and does
not reliably release host resources when firmware commands fail (e.g.
MCU timeouts). In addition, several helpers internally look up mlink,
creating implicit dependencies on driver state and making the code
harder to reason about and maintain.
Switch link STA handling to RCU lifetime, align WCID publish/teardown
ordering, pass mlink explicitly to helpers, and add host-side unwind
logic to release resources when link add fails.
Sean
Sean Wang (19):
wifi: mt76: mt7925: pass mlink to sta_amsdu_tlv()
wifi: mt76: mt7925: pass WCID indices to bss_basic_tlv()
wifi: mt76: mt7925: pass mlink and mconf to sta_mld_tlv()
wifi: mt76: mt7925: pass mlink to mcu_sta_update()
wifi: mt76: mt7925: resolve primary mlink via def_wcid
wifi: mt76: mt7925: pass mlink to mac_link_sta_remove()
wifi: mt76: mt7925: pass mlink to sta_hdr_trans_tlv()
wifi: mt76: mt7925: validate mlink in sta_hdr_trans_tlv()
wifi: mt76: mt7925: pass mlink to wtbl_update_hdr_trans()
wifi: mt76: mt7925: pass mlink to set_link_key()
wifi: mt76: mt7925: resolve link after acquiring mt76 mutex
wifi: mt76: mt7925: pass mconf and mlink to wtbl_update_hdr_trans()
wifi: mt76: mt7925: make WCID cleanup unconditional in
sta_remove_links()
wifi: mt76: mt7925: unwind WCID setup on link STA add failure
wifi: mt76: mt7925: drop WCID reinit after publish
wifi: mt76: mt7925: move WCID teardown into link_sta_remove()
wifi: mt76: mt7925: switch link STA allocation to RCU lifetime
wifi: mt76: mt7925: publish msta->link after successful link add
wifi: mt76: mt7925: host-only unwind published links on add failure
.../net/wireless/mediatek/mt76/mt7925/mac.c | 3 +-
.../net/wireless/mediatek/mt76/mt7925/main.c | 221 +++++++++++++-----
.../net/wireless/mediatek/mt76/mt7925/mcu.c | 180 +++++++-------
.../net/wireless/mediatek/mt76/mt7925/mcu.h | 7 +
.../wireless/mediatek/mt76/mt7925/mt7925.h | 8 +-
drivers/net/wireless/mediatek/mt76/mt792x.h | 1 +
6 files changed, 280 insertions(+), 140 deletions(-)
--
2.43.0
More information about the Linux-mediatek
mailing list