From be788b58f754b5082f9912d37751ca7868e6067d Mon Sep 17 00:00:00 2001 From: Surya Prakash Sivaraj Date: Wed, 20 Oct 2021 17:20:38 +0530 Subject: [PATCH] qcacld-3.0: Save ext cap IE from join request Host sends the EXT CAP IE based on the capability coming from the supplicant in join request. But, after roaming the cached join request will be freed. Therefore, after roaming few capabilities sent by the userspace are not saved and therefore lost in reassoc request. Save the EXT CAP IE from the join request in the VDEV and use the cached capability for sending Ext cap IE. Change-Id: I71947388b4c6e9e56a5832557416d9b462de70e2 CRs-Fixed: 3038496 --- mlme/core/inc/wlan_mlme_main.h | 2 ++ umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c | 1 + 2 files changed, 3 insertions(+) diff --git a/mlme/core/inc/wlan_mlme_main.h b/mlme/core/inc/wlan_mlme_main.h index 17b870077a..90ee0c9b99 100644 --- a/mlme/core/inc/wlan_mlme_main.h +++ b/mlme/core/inc/wlan_mlme_main.h @@ -335,6 +335,7 @@ struct ft_context { * @cckm_ie: cck IE * @cckm_ie_len: cckm_ie len * @ese_tspec_info: ese tspec info + * @ext_cap_ie: Ext CAP IE */ struct mlme_connect_info { uint8_t timing_meas_cap; @@ -358,6 +359,7 @@ struct mlme_connect_info { tESETspecInfo ese_tspec_info; #endif #endif + uint8_t ext_cap_ie[DOT11F_IE_EXTCAP_MAX_LEN + 2]; }; /** struct wait_for_key_timer - wait for key timer object diff --git a/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c b/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c index d482734dfb..6429b4c8ca 100644 --- a/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c +++ b/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c @@ -910,6 +910,7 @@ QDF_STATUS cm_fw_roam_complete(struct cnx_mgr *cm_ctx, void *data) 0, NULL, psoc); cm_check_and_set_sae_single_pmk_cap(psoc, vdev_id); + cm_csr_send_set_ie(cm_ctx->vdev); if (ucfg_pkt_capture_get_pktcap_mode(psoc)) ucfg_pkt_capture_record_channel(cm_ctx->vdev);