diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index b8cd966a935d..c9c4df8986f6 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -1777,6 +1777,13 @@ typedef QDF_STATUS (*csr_session_close_cb)(uint8_t session_id); #define CSR_IS_CONN_NDI(profile) (false) #endif +#ifdef WLAN_FEATURE_SAE +#define CSR_IS_AUTH_TYPE_SAE(auth_type) \ + (eCSR_AUTH_TYPE_SAE == auth_type) +#else +#define CSR_IS_AUTH_TYPE_SAE(auth_type) (false) +#endif + QDF_STATUS csr_set_channels(tHalHandle hHal, tCsrConfigParam *pParam); /* enum to string conversion for debug output */ diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 2db253c89a26..837c94a42e03 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19000,6 +19000,14 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id, return QDF_STATUS_SUCCESS; } + /* Roaming is not supported currently for SAE authentication */ + if (session->pCurRoamProfile && + CSR_IS_AUTH_TYPE_SAE( + session->pCurRoamProfile->AuthType.authType[0])) { + sme_info("Roaming not suppprted for SAE connection"); + return QDF_STATUS_SUCCESS; + } + /* * The Dynamic Config Items Update may happen even if the state is in * INIT. It is important to ensure that the command is passed down to