From 573fae946aa47164f52c7a90667a02d2791c23de Mon Sep 17 00:00:00 2001 From: Owen Huang Date: Mon, 6 Jan 2025 01:19:59 -0600 Subject: [PATCH 2/4] brcmfmac: accept ISO3166 country code by default In brcmf_cfg80211_reg_notifier(), we accept ISO3166 country code only. And abort on-going scan before changing ccode. Fixes SWLINUX-4939 Signed-off-by: Owen Huang --- .../net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 8c8cee97dbcc..93438dad7bb6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -10146,7 +10146,7 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], if ((alpha2[0] == ccreq->country_abbrev[0]) && (alpha2[1] == ccreq->country_abbrev[1])) { - brcmf_dbg(TRACE, "Country code already set\n"); + brcmf_dbg(INFO, "Country code already set\n"); return -EAGAIN; } @@ -10178,7 +10178,7 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], } } if (found_index == -1) { - brcmf_dbg(TRACE, "No country code match found\n"); + brcmf_dbg(INFO, "No country code match found\n"); return -EINVAL; } memset(ccreq, 0, sizeof(*ccreq)); @@ -10545,7 +10545,7 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, return; } - brcmf_dbg(TRACE, "Enter: initiator=%d, alpha=%c%c\n", req->initiator, + brcmf_dbg(INFO, "Enter: initiator=%d, alpha=%c%c\n", req->initiator, req->alpha2[0], req->alpha2[1]); err = brcmf_fil_iovar_data_get(ifp, "country", &ccreq, sizeof(ccreq)); @@ -10558,6 +10558,9 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, if (err) return; + /* Abort on-going scan before changing ccode */ + brcmf_abort_scanning(cfg); + err = brcmf_fil_iovar_data_set(ifp, "country", &ccreq, sizeof(ccreq)); if (err) { bphy_err(drvr, "Firmware rejected country setting\n"); -- 2.25.0