From 9c23f2214d136496672a07ec07c7cba91eff76ac Mon Sep 17 00:00:00 2001 From: Pradeep Gurumath Date: Thu, 25 Jul 2024 18:12:19 -0500 Subject: [PATCH 286/296] brcmfmac: Fix wpa_auth setting for wpa3-1x-sha256 Currently, FMAC sets wpa_auth as WPA2_AUTH_PSK | WPA2_AUTH_UNSPECIFIED. This patchset corrects it by setting wpa_auth as WPA3_AUTH_1X_SHA256. WPA3_AUTH_1X_SHA256 shares the same value as WPA2_AUTH_1X_SHA256 as the value of akm-suite is the same for both. Signed-off-by: Pradeep Gurumath --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 ++ drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 890e321cb8c3..057612542b19 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2246,6 +2246,8 @@ static s32 brcmf_set_wpa_version(struct net_device *ndev, val = WPA3_AUTH_SAE_PSK; else if (sme->crypto.akm_suites[0] == WLAN_AKM_SUITE_OWE) val = WPA3_AUTH_OWE; + else if (sme->crypto.akm_suites[0] == WLAN_AKM_SUITE_8021X_SHA256) + val = WPA3_AUTH_1X_SHA256; else val = WPA2_AUTH_PSK | WPA2_AUTH_UNSPECIFIED; } else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_3) { diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h index 8e0f4fb340d5..0dfaf2eacb90 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h @@ -246,6 +246,11 @@ static inline bool ac_bitmap_tst(u8 bitmap, int prec) #define WFA_AUTH_DPP 0x200000 /* WFA DPP AUTH */ #define WPA3_AUTH_1X_SUITE_B_SHA384 0x400000 /* Suite B-192 SHA384 */ +/* WPA3 1x with SHA256 key derivation. + * Shares the same value as WPA2_AUTH_1X_SHA256 since the value of + * akm-suite is the same for both + */ +#define WPA3_AUTH_1X_SHA256 WPA2_AUTH_1X_SHA256 #define WFA_OUI "\x50\x6F\x9A" /* WFA OUI */ #define DPP_VER 0x1A /* WFA DPP v1.0 */ -- 2.25.1