wifi: mt76: report data NSS for STBC frames in RX rate decode

The RX rate decoder set status->nss straight from the PRXV NSTS field,
which for STBC frames is twice the data spatial-stream count. cfg80211
then reported a doubled RX bitrate in station dumps and radiotap. Halve
nss for STBC, matching the TX status path.

Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
Fixes: d832f5e73815 ("mt76: connac: move mt76_connac2_mac_fill_rx_rate in connac module")
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2026-07-24 14:45:39 +02:00
parent 3def033512
commit 10a1541fb2
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -1069,6 +1069,10 @@ int mt76_connac2_mac_fill_rx_rate(struct mt76_dev *dev,
bw = FIELD_GET(MT_CRXV_FRAME_MODE, v2);
}
/* the hardware reports NSTS; report the data NSS for STBC frames */
if (stbc && nss > 1)
nss >>= 1;
switch (*mode) {
case MT_PHY_TYPE_CCK:
cck = true;
+4
View File
@@ -294,6 +294,10 @@ mt7996_mac_fill_rx_rate(struct mt7996_dev *dev,
dcm = FIELD_GET(MT_PRXV_DCM, v2);
bw = FIELD_GET(MT_PRXV_FRAME_MODE, v2);
/* the hardware reports NSTS; report the data NSS for STBC frames */
if (stbc && nss > 1)
nss >>= 1;
switch (*mode) {
case MT_PHY_TYPE_CCK:
cck = true;