Merge tag 'LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0 into android13-5.4-lahaina

"LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0:
  Release 2.0.8.34S
  qcacld-3.0: Fix the AKM precedence order for RSN IE

Change-Id: Ibef7673ebcb1f012a552f63568ccfc28c2fac4e3
This commit is contained in:
Michael Bestas 2024-08-05 22:05:51 +03:00
commit 10af39f19d
No known key found for this signature in database
GPG key ID: CC95044519BE6669
2 changed files with 38 additions and 38 deletions

View file

@ -32,9 +32,9 @@
#define QWLAN_VERSION_MAJOR 2
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 8
#define QWLAN_VERSION_EXTRA "R"
#define QWLAN_VERSION_EXTRA "S"
#define QWLAN_VERSION_BUILD 34
#define QWLAN_VERSIONSTR "2.0.8.34R"
#define QWLAN_VERSIONSTR "2.0.8.34S"
#endif /* QWLAN_VERSION_H */

View file

@ -2451,6 +2451,7 @@ static void csr_update_key_mgmt_crypto_param(struct wlan_objmgr_vdev *vdev,
{
int32_t key_mgmt = 0;
int32_t neg_akm;
uint8_t i;
neg_akm = wlan_crypto_get_param(vdev, WLAN_CRYPTO_PARAM_KEY_MGMT);
if (neg_akm < 0) {
@ -2458,69 +2459,66 @@ static void csr_update_key_mgmt_crypto_param(struct wlan_objmgr_vdev *vdev,
return;
}
SET_PARAM(neg_akm,
wlan_crypto_rsn_suite_to_keymgmt(ap_rsn.akm_suite[0]));
for (i = 0; i < ap_rsn.akm_suite_cnt; i++)
SET_PARAM(neg_akm,
wlan_crypto_rsn_suite_to_keymgmt(ap_rsn.akm_suite[i]));
/*
* As there can be multiple AKM present select the most secured AKM
* present
*/
if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_SAE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_SAE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_SAE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_SAE);
if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B);
else if (HAS_PARAM(neg_akm,
WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192))
SET_PARAM(key_mgmt,
WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SUITE_B_192);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FILS_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FILS_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FILS_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FILS_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_FILS_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_OWE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_OWE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_DPP))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_DPP);
else if (HAS_PARAM(neg_akm,
WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384))
SET_PARAM(key_mgmt,
WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_PSK))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_PSK);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FILS_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FILS_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_IEEE8021X);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_PSK))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_PSK);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_PSK_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_PSK_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_DPP))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_DPP);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_SAE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_SAE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_SAE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_SAE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_PSK_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_PSK_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_FT_PSK))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_FT_PSK);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_PSK_SHA384))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_PSK_SHA384);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_PSK_SHA256))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_PSK_SHA256);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_PSK))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_PSK);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_WPA_NONE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_WPA_NONE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_OSEN))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_OSEN);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_OWE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_OWE);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_WAPI_PSK))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_WAPI_PSK);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_WAPI_CERT))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_WAPI_CERT);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_CCKM))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_CCKM);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_OSEN))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_OSEN);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_WPS))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_WPS);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_NO_WPA))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_IEEE8021X_NO_WPA);
else if (HAS_PARAM(neg_akm, WLAN_CRYPTO_KEY_MGMT_WPA_NONE))
SET_PARAM(key_mgmt, WLAN_CRYPTO_KEY_MGMT_WPA_NONE);
else /* use original if no akm match */
key_mgmt = neg_akm;
@ -2533,6 +2531,7 @@ static void csr_update_ucast_cipher_crypto_param(struct wlan_objmgr_vdev *vdev,
{
int32_t ucastcipherset = 0;
int32_t neg_ucastcipher;
uint8_t i;
neg_ucastcipher = wlan_crypto_get_param(vdev,
WLAN_CRYPTO_PARAM_UCAST_CIPHER);
@ -2541,8 +2540,9 @@ static void csr_update_ucast_cipher_crypto_param(struct wlan_objmgr_vdev *vdev,
return;
}
SET_PARAM(neg_ucastcipher,
wlan_crypto_rsn_suite_to_cipher(ap_rsn.pwise_cipher_suites[0]));
for (i = 0; i < ap_rsn.pwise_cipher_suite_count; i++)
SET_PARAM(neg_ucastcipher,
wlan_crypto_rsn_suite_to_cipher(ap_rsn.pwise_cipher_suites[i]));
/*
* As there can be multiple ucastcipher present select the most secured