rtw89: fix incorrect channel info during scan
authorPo Hao Huang <phhuang@realtek.com>
Thu, 11 Nov 2021 02:37:06 +0000 (10:37 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 8 Dec 2021 18:27:18 +0000 (20:27 +0200)
commiteb4e52b3f38dfd08a89e1084f5980a2bb93456fb
tree05904623ffaaf7ef6b415a1290159b71fc979e80
parente45a9e6265d2591efb745c9ffa46f4e9cceb5c65
rtw89: fix incorrect channel info during scan

We used to fill in rx skbs' frequency field by mac80211's current
channel value. In some cases, mac80211 switches channel before all
rx packets have been processed. This results in incorrect bss info.
We fix this by filling in frequency field with channel index obtained
from hardware, then fix potential cck missing issue by skb's original
hw rate. After all fix is done, convert hw rate back to the supported
band rate index.

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/20211111023706.14154-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/debug.c
drivers/net/wireless/realtek/rtw89/phy.c
drivers/net/wireless/realtek/rtw89/phy.h
drivers/net/wireless/realtek/rtw89/reg.h
drivers/net/wireless/realtek/rtw89/rtw8852a.c
drivers/net/wireless/realtek/rtw89/txrx.h