From 78e07c9a0196ccbf5d3dfbf008414455834e4d03 Mon Sep 17 00:00:00 2001 From: Abinandhu M Date: Tue, 10 Mar 2026 17:11:27 +0530 Subject: [PATCH] qcacld-3.0: Use orig_key_mgmt vdev param for AKM negotiation Currently, the driver overwrites the supplicant configured connect request AKMs with that of the candidate's AKM. Due to this, the STA attempts connection via an AKM which is not present in the original connect request. To fix this, use the intersection of original AKM list and the candidate supported AKMs to derive the connection AKM. Change-Id: I700630fda91b4b3ff73e50a38e3c0386ede85e42 CRs-Fixed: 4490428 --- core/sme/src/csr/csr_util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/sme/src/csr/csr_util.c b/core/sme/src/csr/csr_util.c index ecd857bcd604..a0ffa150b281 100644 --- a/core/sme/src/csr/csr_util.c +++ b/core/sme/src/csr/csr_util.c @@ -2454,7 +2454,7 @@ static void csr_update_key_mgmt_crypto_param(struct wlan_objmgr_vdev *vdev, int32_t ap_akm = 0; uint8_t i; - neg_akm = wlan_crypto_get_param(vdev, WLAN_CRYPTO_PARAM_KEY_MGMT); + neg_akm = wlan_crypto_get_param(vdev, WLAN_CRYPTO_PARAM_ORIG_KEY_MGMT); if (neg_akm < 0) { sme_err("Invalid AKM suite"); return; @@ -2470,6 +2470,7 @@ static void csr_update_key_mgmt_crypto_param(struct wlan_objmgr_vdev *vdev, sme_err("Invalid AKM suite"); return; } + sme_debug("Intersected AKM with AP's AKM 0x%x", neg_akm); /* * As there can be multiple AKM present select the most secured AKM