mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
47 lines
1.9 KiB
Diff
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) {
|