From 9b2dc8a42f5c06a1a632080731f97a0321639e0c Mon Sep 17 00:00:00 2001 From: Srinivas Dasari Date: Thu, 29 Apr 2021 12:48:30 +0530 Subject: [PATCH] qcacld-3.0: Enable SAE authentication for P2P Enable SAE authentication for P2P. This allows to process and forward the SAE auth frames to userspace in P2P_CLI and P2P_GO modes. Change-Id: I210f6b3db4d4d0a39f1dcb7f136ec9ac7e4c34c4 CRs-Fixed: 2933379 --- core/hdd/src/wlan_hdd_cfg80211.c | 1 + core/mac/src/pe/lim/lim_process_message_queue.c | 4 +++- core/sme/src/common/sme_api.c | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index cc57c9c667c9..bed122221818 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -534,6 +534,7 @@ static const struct ieee80211_txrx_stypes [NL80211_IFTYPE_P2P_CLIENT] = { .tx = 0xffff, .rx = BIT(SIR_MAC_MGMT_ACTION) | + BIT(SIR_MAC_MGMT_AUTH) | BIT(SIR_MAC_MGMT_PROBE_REQ), }, [NL80211_IFTYPE_P2P_GO] = { diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c index 5596a7848472..35318f22ba37 100644 --- a/core/mac/src/pe/lim/lim_process_message_queue.c +++ b/core/mac/src/pe/lim/lim_process_message_queue.c @@ -207,7 +207,9 @@ static void lim_process_sae_msg(struct mac_context *mac, struct sir_sae_msg *bod } if (session->opmode != QDF_STA_MODE && - session->opmode != QDF_SAP_MODE) { + session->opmode != QDF_SAP_MODE && + session->opmode != QDF_P2P_GO_MODE && + session->opmode != QDF_P2P_CLIENT_MODE) { pe_err("SAE:Not supported in this mode %d", session->opmode); return; diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 49740cc9058d..f45b9f5ee29a 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -15438,7 +15438,8 @@ QDF_STATUS sme_handle_sae_msg(mac_handle_t mac_handle, * is meant for roaming. */ if ((csr_session->pCurRoamProfile && - csr_session->pCurRoamProfile->csrPersona == QDF_SAP_MODE) || + (csr_session->pCurRoamProfile->csrPersona == QDF_SAP_MODE || + csr_session->pCurRoamProfile->csrPersona == QDF_P2P_GO_MODE)) || !CSR_IS_ROAM_JOINED(mac, session_id)) { sae_msg = qdf_mem_malloc(sizeof(*sae_msg)); if (!sae_msg) {