|
@@ -57,10 +57,15 @@
|
|
|
|
|
|
#define CM_IS_FW_SAE_ROAM_SUPPORTED(fw_akm_bitmap) \
|
|
|
(((fw_akm_bitmap) & (1 << AKM_SAE)) ? true : false)
|
|
|
+
|
|
|
+#define CM_IS_FW_SAE_EXT_ROAM_SUPPORTED(fw_akm_bitmap) \
|
|
|
+ (((fw_akm_bitmap) & (1 << AKM_SAE_EXT)) ? true : false)
|
|
|
#else
|
|
|
#define CM_IS_FW_FT_SAE_SUPPORTED(fw_akm_bitmap) (false)
|
|
|
|
|
|
#define CM_IS_FW_SAE_ROAM_SUPPORTED(fw_akm_bitmap) (false)
|
|
|
+
|
|
|
+#define CM_IS_FW_SAE_EXT_SUPPORTED(fw_akm_bitmap) (false)
|
|
|
#endif
|
|
|
|
|
|
/**
|
|
@@ -1581,6 +1586,8 @@ static uint32_t cm_get_rsn_wmi_auth_type(int32_t akm)
|
|
|
return WMI_AUTH_RSNA_SUITE_B_8021X_SHA384;
|
|
|
else if (QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384))
|
|
|
return WMI_AUTH_FT_RSNA_SUITE_B_8021X_SHA384;
|
|
|
+ else if (QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_SAE_EXT_KEY))
|
|
|
+ return WMI_AUTH_WPA3_SAE_SHA384;
|
|
|
else
|
|
|
return WMI_AUTH_NONE;
|
|
|
}
|
|
@@ -3480,6 +3487,12 @@ cm_akm_roam_allowed(struct wlan_objmgr_psoc *psoc,
|
|
|
return QDF_STATUS_E_NOSUPPORT;
|
|
|
}
|
|
|
|
|
|
+ if (QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_SAE_EXT_KEY) &&
|
|
|
+ !CM_IS_FW_SAE_EXT_ROAM_SUPPORTED(fw_akm_bitmap)) {
|
|
|
+ mlme_info("Roaming not supported for SAE EXT akm");
|
|
|
+ return QDF_STATUS_E_NOSUPPORT;
|
|
|
+ }
|
|
|
+
|
|
|
if ((QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B) ||
|
|
|
QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192)) &&
|
|
|
!(fw_akm_bitmap & (1 << AKM_SUITEB))) {
|