wifi: mt76: mt7915: fix bogus Tx/Rx airtime duration values

Do not report measurements if the airtime counter was cleared since the
last update (possibly by firmware)

Signed-off-by: Henry Yen <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Henry Yen
2024-03-15 17:07:47 +01:00
committed by Felix Fietkau
parent 7b054e5cb3
commit 3f27a64a80
+9 -2
View File
@@ -140,8 +140,15 @@ static void mt7915_mac_sta_poll(struct mt7915_dev *dev)
msta->airtime_ac[i] = mt76_rr(dev, addr);
msta->airtime_ac[i + 4] = mt76_rr(dev, addr + 4);
tx_time[i] = msta->airtime_ac[i] - tx_last;
rx_time[i] = msta->airtime_ac[i + 4] - rx_last;
if (msta->airtime_ac[i] <= tx_last)
tx_time[i] = 0;
else
tx_time[i] = msta->airtime_ac[i] - tx_last;
if (msta->airtime_ac[i + 4] <= rx_last)
rx_time[i] = 0;
else
rx_time[i] = msta->airtime_ac[i + 4] - rx_last;
if ((tx_last | rx_last) & BIT(30))
clear = true;