From 73b102e600612af1cf9cb2cdf7ec96338575c3c5 Mon Sep 17 00:00:00 2001 From: JasonHuang Date: Thu, 20 Jun 2024 03:41:00 -0500 Subject: [PATCH 272/296] brcmfmac: Add FW supplicant profile check for the roaming case The addition of already_authorized in the hostap 2.11 will block FT roaming while using In-driver supplicant. Host driver can send authorized to the supplicant with this fix. Signed-off-by: JasonHuang --- .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index eeb991157803..2e54b236f823 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -7893,14 +7893,17 @@ brcmf_bss_roaming_done(struct brcmf_cfg80211_info *cfg, roam_info.resp_ie = conn_info->resp_ie; roam_info.resp_ie_len = conn_info->resp_ie_len; - if ((profile->use_fwsup == BRCMF_PROFILE_FWSUP_1X || - profile->use_fwsup == BRCMF_PROFILE_FWSUP_ROAM) && + if (((profile->use_fwsup == BRCMF_PROFILE_FWSUP_1X || + profile->use_fwsup == BRCMF_PROFILE_FWSUP_ROAM) && (brcmf_has_pmkid(roam_info.req_ie, roam_info.req_ie_len, NULL) || - profile->is_ft || profile->is_okc)) + profile->is_ft || profile->is_okc)) || + profile->use_fwsup == BRCMF_PROFILE_FWSUP_PSK || + profile->use_fwsup == BRCMF_PROFILE_FWSUP_SAE) roam_info.authorized = true; cfg80211_roamed(ndev, &roam_info, GFP_KERNEL); - brcmf_dbg(CONN, "Report roaming result\n"); + brcmf_dbg(CONN, "Report roaming result, authorized is %s\n", + roam_info.authorized ? "true" : "false"); clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); set_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); -- 2.25.1