summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Hao Huang <phhuang@realtek.com>2022-04-07 12:58:54 +0300
committerKalle Valo <kvalo@kernel.org>2022-04-12 16:52:05 +0300
commit6723c0cde84fde582a261c186ce84100dcfa0019 (patch)
tree7599d0f221f94761a0787b003e4b71db12e27039
parentc1edc86472fc3a5aa3b5c5c53c4e20f6a24992a6 (diff)
downloadlinux-6723c0cde84fde582a261c186ce84100dcfa0019.tar.xz
rtw88: fix incorrect frequency reported
We should only fill in frequency reported by firmware during scan. Add this so frames won't be dropped by mac80211 due to frequency mismatch. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220407095858.46807-3-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw88/rx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/rx.c b/drivers/net/wireless/realtek/rtw88/rx.c
index d2d607e22198..84aedabdf285 100644
--- a/drivers/net/wireless/realtek/rtw88/rx.c
+++ b/drivers/net/wireless/realtek/rtw88/rx.c
@@ -158,7 +158,8 @@ void rtw_rx_fill_rx_status(struct rtw_dev *rtwdev,
memset(rx_status, 0, sizeof(*rx_status));
rx_status->freq = hw->conf.chandef.chan->center_freq;
rx_status->band = hw->conf.chandef.chan->band;
- if (rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_SCAN_OFFLOAD))
+ if (rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_SCAN_OFFLOAD) &&
+ test_bit(RTW_FLAG_SCANNING, rtwdev->flags))
rtw_set_rx_freq_by_pktstat(pkt_stat, rx_status);
if (pkt_stat->crc_err)
rx_status->flag |= RX_FLAG_FAILED_FCS_CRC;