From ea0b8725afafa72598150117c24ab0b381f209e1 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Fri, 3 Jun 2022 00:10:13 +0530 Subject: [PATCH] qcacld-3.0: Fix invalid PMK sent for FILS-FT roam For FT-FILS AKM, 1st connection to an AP in a realm takes place with Full EAP. 2nd connection to any AP in the realm does the FT initial mobility domain association with authentication algorithm as FILS. Subsequent connection/roam happens with FT protocol. fils_ft key is derived during 2nd connection. But driver copies from fils_ft buffer after 1st connection is complete to fill the PMK in the 11r TLV. This causes the pmk len = 0 is sent in the 11r TLV. Fill the initial connection PMK in RSO command after 1st connection. From 2nd connection onwards fill the fils_ft. Change-Id: I52399fc7bd3526a11e29c54a3ca13d43bbaf6b80 CRs-Fixed: 3197226 --- components/wmi/src/wmi_unified_roam_tlv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/wmi/src/wmi_unified_roam_tlv.c b/components/wmi/src/wmi_unified_roam_tlv.c index 92c2beb10b..3912db6508 100644 --- a/components/wmi/src/wmi_unified_roam_tlv.c +++ b/components/wmi/src/wmi_unified_roam_tlv.c @@ -3464,8 +3464,9 @@ static void wmi_fill_roam_offload_11r_params( src_11r_params = &roam_req->rso_11r_info; - if (akm == WMI_AUTH_FT_RSNA_FILS_SHA256 || - akm == WMI_AUTH_FT_RSNA_FILS_SHA384) { + if ((akm == WMI_AUTH_FT_RSNA_FILS_SHA256 || + akm == WMI_AUTH_FT_RSNA_FILS_SHA384) && + roam_req->fils_roam_config.fils_ft_len) { psk_msk = roam_req->fils_roam_config.fils_ft; len = roam_req->fils_roam_config.fils_ft_len; } else {