From b2bbde195cf03622b60ee9c4e8b8711a8a8050de Mon Sep 17 00:00:00 2001 From: Carter Chen Date: Fri, 29 Jul 2022 00:34:38 -0500 Subject: [PATCH 103/296] brcmfmac: fix set_pmk warning message Fixed warning message while do cfg80211_set_pmk. Fixed the external supplicant set Suite-B-192 PMK with cfg80211_set_pmksa. Signed-off-by: Carter Chen --- .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 +++++++++- .../wireless/broadcom/brcm80211/brcmfmac/fwil_types.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 5a86c7fb6e43..e0511c1afc6e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2308,6 +2308,10 @@ brcmf_set_key_mgmt(struct net_device *ndev, struct cfg80211_connect_params *sme) break; case WLAN_AKM_SUITE_8021X_SUITE_B_192: val = WPA3_AUTH_1X_SUITE_B_SHA384; + if (sme->want_1x) + profile->use_fwsup = BRCMF_PROFILE_FWSUP_1X; + else + profile->use_fwsup = BRCMF_PROFILE_FWSUP_ROAM; break; default: bphy_err(drvr, "invalid akm suite (%d)\n", @@ -4666,9 +4670,13 @@ brcmf_cfg80211_set_pmksa(struct wiphy *wiphy, struct net_device *ndev, return -EINVAL; } + brcmf_dbg(CONN, "set_pmksa - PMK bssid: %pM =\n", pmk[i].bssid); + brcmf_dbg(CONN, "%*ph\n", WLAN_PMKID_LEN, pmk[i].pmkid); + err = brcmf_update_pmklist(cfg, ifp); - if (pmksa->pmk_len) { + if (pmksa->pmk_len && pmksa->pmk_len < BRCMF_WSEC_PMK_LEN_SUITEB_192) { + /* external supplicant stores SUITEB-192 PMK */ if (ifp->vif->profile.is_okc) { err = brcmf_fil_iovar_data_set(ifp, "okc_info_pmk", pmksa->pmk, pmksa->pmk_len); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h index 853264bc699f..5c517ab41024 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h @@ -63,6 +63,7 @@ #define BRCMF_SCANTYPE_PASSIVE 1 #define BRCMF_WSEC_MAX_PSK_LEN 32 +#define BRCMF_WSEC_PMK_LEN_SUITEB_192 48 #define BRCMF_WSEC_MAX_PMK_LEN 64 /* SUITE-B-192's PMK is 48 bytes */ #define BRCMF_WSEC_PASSPHRASE BIT(0) -- 2.25.1