[PATCH 1/4] wifi: mt76: mt792x: protect state->cc_* counters with cc_lock
Mingyen Hsieh
mingyen.hsieh at mediatek.com
Wed Sep 3 20:06:46 PDT 2025
From: Ming Yen Hsieh <mingyen.hsieh at mediatek.com>
The updates to state->cc_* (cc_busy, cc_tx, etc.) lack synchronization,
risking race conditions and inconsistent statistics.
Add cc_lock protection to ensure atomic updates.
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh at mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt792x_mac.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt792x_mac.c b/drivers/net/wireless/mediatek/mt76/mt792x_mac.c
index 3f1d9ba49076..f86e0ac91100 100644
--- a/drivers/net/wireless/mediatek/mt76/mt792x_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt792x_mac.c
@@ -243,10 +243,14 @@ mt792x_phy_update_channel(struct mt76_phy *mphy, int idx)
phy->noise += nf - (phy->noise >> 4);
state = mphy->chan_state;
+
+ spin_lock_bh(&dev->mt76.cc_lock);
state->cc_busy += busy_time;
state->cc_tx += tx_time;
state->cc_rx += rx_time + obss_time;
state->cc_bss_rx += rx_time;
+ spin_unlock_bh(&dev->mt76.cc_lock);
+
state->noise = -(phy->noise >> 4);
}
--
2.34.1
More information about the Linux-mediatek
mailing list