wifi: rtw89: fix BSSID comparison for non-transmitted BSSID

For non-transmitted connections, beacons are received from the
transmitted BSSID. Fix this to avoid missing beacon statistics.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250811123950.15697-1-pkshih@realtek.com
This commit is contained in:
Kuan-Chung Chen 2025-08-11 20:39:50 +08:00 committed by Ping-Ke Shih
parent 46ac5412e4
commit c4c16c88e7

View File

@ -2668,6 +2668,7 @@ static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
struct ieee80211_bss_conf *bss_conf;
struct rtw89_vif_link *rtwvif_link;
const u8 *bssid = iter_data->bssid;
const u8 *target_bssid;
if (rtwdev->scanning &&
(ieee80211_is_beacon(hdr->frame_control) ||
@ -2689,7 +2690,10 @@ static void rtw89_vif_rx_stats_iter(void *data, u8 *mac,
goto out;
}
if (!ether_addr_equal(bss_conf->bssid, bssid))
target_bssid = ieee80211_is_beacon(hdr->frame_control) &&
bss_conf->nontransmitted ?
bss_conf->transmitter_bssid : bss_conf->bssid;
if (!ether_addr_equal(target_bssid, bssid))
goto out;
if (is_mld) {