From 9f74c1e149c5e28115eb135033f76fd9ccc7f34f Mon Sep 17 00:00:00 2001 From: Ian Lin Date: Wed, 13 Mar 2024 03:32:36 -0500 Subject: [PATCH 247/296] brcmfmac: skip bss update when NULL mac received for LINK event In STA CSA process, sometimes FW roam state is not finished, fmac will get NULL mac in ioctl BRCMF_C_GET_BSS_INFO while processing LINK event. It may causes some invalid flow in upper layer, hence add the check and skip it. Signed-off-by: Ian Lin --- .../net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 8aa07de2e0c6..f8cdd1d82e7d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -4053,6 +4053,7 @@ brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg, struct brcmf_if *ifp) struct brcmf_pub *drvr = cfg->pub; struct brcmf_bss_info_le *bi = NULL; s32 err = 0; + u8 null_mac[6] = {0}; brcmf_dbg(TRACE, "Enter\n"); if (brcmf_is_ibssmode(ifp->vif)) @@ -4066,6 +4067,12 @@ brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg, struct brcmf_if *ifp) goto update_bss_info_out; } bi = (struct brcmf_bss_info_le *)(cfg->extra_buf + 4); + + if (!memcmp(null_mac, bi->BSSID, ETH_ALEN)) { + bphy_err(drvr, "NULL mac, don't update bss\n"); + goto update_bss_info_out; + } + err = brcmf_inform_single_bss(cfg, bi); brcmf_dbg(TRACE, "Exit"); -- 2.25.1