[PATCH rtw-next] wifi: rtw88: 8723b: don't set channel_invalid in query_phy_status()

From: Luka Gejak

Date: Fri Oct 09 2026 - 12:10:27 EST


rtw8723b_query_phy_status() sets pkt_stat->channel_invalid, which makes
rtw_update_rx_freq_for_invalid() call rtw_update_rx_freq_from_ie() and
overwrite rx_status->freq with rtwdev->hal.current_channel.
rtw_update_channel() keeps the center channel in that field, not the
primary one, so on a 40 MHz connection mac80211 is handed a frequency it
rejects in ieee80211_rx_beacon_freq_valid() and reports beacon loss for
beacons the driver did receive. Only beacons go through that check, so
data traffic is unaffected.

Remove it now, so that the non-SDIO members of the 8723B family do not
report beacon loss once they are supported. SDIO is unaffected, because
rtw_sdio_rx_skb() copies the status into the skb before the update runs.

Reported-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>
Signed-off-by: Luka Gejak <luka.gejak@xxxxxxxxx>
---
drivers/net/wireless/realtek/rtw88/rtw8723b.c | 7 -------
1 file changed, 7 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723b.c b/drivers/net/wireless/realtek/rtw88/rtw8723b.c
index 8bb9c03d769c..0c37e981ec84 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723b.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723b.c
@@ -1303,13 +1303,6 @@ static void rtw8723b_query_phy_status_ofdm(struct rtw_dev *rtwdev, void *phy_raw
static void rtw8723b_query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
struct rtw_rx_pkt_stat *pkt_stat)
{
- /*
- * The 8723B PHY status does not report the channel, so we must
- * mark it invalid to allow mac80211/rtw88 to parse it from the IE
- * during scanning.
- */
- pkt_stat->channel_invalid = true;
-
if (pkt_stat->rate <= DESC_RATE11M)
rtw8723b_query_phy_status_cck(rtwdev, phy_status, pkt_stat);
else
--
2.55.0