Files
build/patch/kernel/archive/sunxi-5.15/patches.cypress/0025-brcmfmac-set-authorized-flag-in-ROAM-event-for-offlo.patch

49 lines
1.9 KiB
Diff

From 22596bdaa5055c5637a8e738f0d613f8072b25fd Mon Sep 17 00:00:00 2001
From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
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 <stanley.hsu@cypress.com>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
---
.../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