qcacld-3.0: Add FW support for AKM 24
Add FW support for AKM 24 Change-Id: I067c7f2a4eabe680fdd38e78cb5ffbd8ad306ad3 CRs-Fixed: 3301709
This commit is contained in:

committed by
Madan Koyyalamudi

orang tua
d607d5e5e8
melakukan
f101354847
@@ -1769,6 +1769,7 @@ struct bss_load_trigger {
|
|||||||
#define AKM_SAE 3
|
#define AKM_SAE 3
|
||||||
#define AKM_OWE 4
|
#define AKM_OWE 4
|
||||||
#define AKM_SUITEB 5
|
#define AKM_SUITEB 5
|
||||||
|
#define AKM_SAE_EXT 6
|
||||||
|
|
||||||
#define LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
|
#define LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
|
||||||
#define LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
|
#define LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
|
||||||
|
@@ -57,10 +57,15 @@
|
|||||||
|
|
||||||
#define CM_IS_FW_SAE_ROAM_SUPPORTED(fw_akm_bitmap) \
|
#define CM_IS_FW_SAE_ROAM_SUPPORTED(fw_akm_bitmap) \
|
||||||
(((fw_akm_bitmap) & (1 << AKM_SAE)) ? true : false)
|
(((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
|
#else
|
||||||
#define CM_IS_FW_FT_SAE_SUPPORTED(fw_akm_bitmap) (false)
|
#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_ROAM_SUPPORTED(fw_akm_bitmap) (false)
|
||||||
|
|
||||||
|
#define CM_IS_FW_SAE_EXT_SUPPORTED(fw_akm_bitmap) (false)
|
||||||
#endif
|
#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;
|
return WMI_AUTH_RSNA_SUITE_B_8021X_SHA384;
|
||||||
else if (QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384))
|
else if (QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384))
|
||||||
return WMI_AUTH_FT_RSNA_SUITE_B_8021X_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
|
else
|
||||||
return WMI_AUTH_NONE;
|
return WMI_AUTH_NONE;
|
||||||
}
|
}
|
||||||
@@ -3480,6 +3487,12 @@ cm_akm_roam_allowed(struct wlan_objmgr_psoc *psoc,
|
|||||||
return QDF_STATUS_E_NOSUPPORT;
|
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) ||
|
if ((QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B) ||
|
||||||
QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192)) &&
|
QDF_HAS_PARAM(akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192)) &&
|
||||||
!(fw_akm_bitmap & (1 << AKM_SUITEB))) {
|
!(fw_akm_bitmap & (1 << AKM_SUITEB))) {
|
||||||
|
@@ -6178,6 +6178,11 @@ static void wma_set_mlme_caps(struct wlan_objmgr_psoc *psoc)
|
|||||||
if (tgt_cap)
|
if (tgt_cap)
|
||||||
akm_bitmap |= (1 << AKM_SUITEB);
|
akm_bitmap |= (1 << AKM_SUITEB);
|
||||||
|
|
||||||
|
tgt_cap = wmi_service_enabled(wma->wmi_handle,
|
||||||
|
wmi_service_wpa3_sha384_roam_support);
|
||||||
|
if (tgt_cap)
|
||||||
|
akm_bitmap |= (1 << AKM_SAE_EXT);
|
||||||
|
|
||||||
status = mlme_set_tgt_wpa3_roam_cap(psoc, akm_bitmap);
|
status = mlme_set_tgt_wpa3_roam_cap(psoc, akm_bitmap);
|
||||||
if (QDF_IS_STATUS_ERROR(status))
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
wma_err("Failed to set sae roam support");
|
wma_err("Failed to set sae roam support");
|
||||||
|
Reference in New Issue
Block a user