1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00
openmptcprouter/6.12/target/linux/bcm27xx/patches-6.12/950-0489-brcmfmac-support-extsae-with-psk-1x-offloading.patch
Ycarus (Yannick Chabanois) bdb9b0046f Add bcm27xx 6.12 test support
2024-12-20 14:17:26 +01:00

47 lines
1.9 KiB
Diff

From bdbdf50cd22f767f296fe78080945e6d7a728d72 Mon Sep 17 00:00:00 2001
From: Chien-Chia Chen <carella.chen@infineon.com>
Date: Thu, 18 Nov 2021 03:22:26 -0600
Subject: [PATCH 489/697] brcmfmac: support extsae with psk / 1x offloading
support sae executed in wpa_supplicant and offload 4-way handshake offload.
Signed-off-by: Chien-Chia Chen <carella.chen@infineon.com>
JIRA: SWWLAN-142424
---
.../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -2170,6 +2170,10 @@ brcmf_set_key_mgmt(struct net_device *nd
if (sme->crypto.sae_pwd) {
brcmf_dbg(INFO, "using SAE offload\n");
profile->use_fwsup = BRCMF_PROFILE_FWSUP_SAE;
+ } else if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_FWSUP) &&
+ brcmf_feat_is_enabled(ifp, BRCMF_FEAT_SAE_EXT)) {
+ brcmf_dbg(INFO, "using EXTSAE with PSK offload\n");
+ profile->use_fwsup = BRCMF_PROFILE_FWSUP_PSK;
}
break;
case WLAN_AKM_SUITE_FT_OVER_SAE:
@@ -2472,7 +2476,8 @@ brcmf_cfg80211_connect(struct wiphy *wip
if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_FWSUP)) {
if (sme->crypto.psk) {
- if (profile->use_fwsup != BRCMF_PROFILE_FWSUP_SAE) {
+ if ((profile->use_fwsup != BRCMF_PROFILE_FWSUP_SAE) &&
+ (profile->use_fwsup != BRCMF_PROFILE_FWSUP_PSK)) {
if (WARN_ON(profile->use_fwsup !=
BRCMF_PROFILE_FWSUP_NONE)) {
err = -EINVAL;
@@ -2496,7 +2501,8 @@ brcmf_cfg80211_connect(struct wiphy *wip
err = brcmf_fil_iovar_int_set(ifp, "sup_wpa", 0);
}
- if (profile->use_fwsup == BRCMF_PROFILE_FWSUP_PSK) {
+ if ((profile->use_fwsup == BRCMF_PROFILE_FWSUP_PSK) &&
+ sme->crypto.psk) {
err = brcmf_set_pmk(ifp, sme->crypto.psk,
BRCMF_WSEC_MAX_PSK_LEN);
} else if (profile->use_fwsup == BRCMF_PROFILE_FWSUP_SAE) {