mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user