From 22596bdaa5055c5637a8e738f0d613f8072b25fd Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Thu, 14 Feb 2019 17:28:22 +0800 Subject: [PATCH 025/179] brcmfmac: set authorized flag in ROAM event for offload FT roaming When using PORT_AUTHORIZED event mechanism for offload FT, wpa_supplicant started a full EAP exchange after a successful roaming. It was caused by setting portEnabled to FALSE to get EAP state machine out of the SUCCESS state and eapSuccess cleared when handling ROAM event in wap_supplicant. With this patch, the authorized flag in the ROAM event is used to indicate the connection is authorized. Wpa_supplicant sets portEnabled according to the flag and no full EAP exchange is performed after the roaming. Signed-off-by: Chung-Hsien Hsu Signed-off-by: Chi-hsien Lin --- .../net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 748c2078b7e3..35cbee081322 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -6084,14 +6084,12 @@ 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->is_ft) + roam_info.authorized = true; + cfg80211_roamed(ndev, &roam_info, GFP_KERNEL); brcmf_dbg(CONN, "Report roaming result\n"); - if (profile->use_fwsup == BRCMF_PROFILE_FWSUP_1X && profile->is_ft) { - cfg80211_port_authorized(ndev, profile->bssid, GFP_KERNEL); - brcmf_dbg(CONN, "Report port authorized\n"); - } - set_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); brcmf_dbg(TRACE, "Exit\n"); return err; -- 2.17.1