From 0eede6b34275629aa9e0ef4fa148a32209856ec6 Mon Sep 17 00:00:00 2001 From: Jayachandran Sreekumaran Date: Fri, 6 Dec 2019 16:03:28 +0530 Subject: [PATCH] qcacld-3.0: Remove the completed roam command from active queue If hardware mode change is required during roaming, then the roam command to disassoc from the current ap remains in the active queue until SME receives hw_mode_res. Due to which the SME requests for hardware mode switch and nss update are not able to get queued into the active queue. Hence LFR2.0 roaming fails to proceed after disassoc completion. Removed the completed roam command from active queue. Change-Id: I5f244ddba88cbb8af3a34e6f78b9b664ca009666 CRs-Fixed: 2576362 --- core/sme/src/csr/csr_api_roam.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 5f4f0bef52b7..d205830b6ae8 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -10099,12 +10099,6 @@ QDF_STATUS csr_roam_lfr2_issue_connect(struct mac_context *mac, NULL); csr_roam_copy_profile(mac, cur_roam_profile, session->pCurRoamProfile); - /* - * After ensuring that the roam profile is in the scan - * result list, and session->pCurRoamProfile is saved, - * dequeue the command from the active list. - */ - csr_dequeue_command(mac); /* make sure to put it at the head of the cmd queue */ status = csr_roam_issue_connect(mac, session_id, cur_roam_profile, hbss_list, @@ -10176,6 +10170,7 @@ void csr_handle_disassoc_ho(struct mac_context *mac, uint32_t session_id) struct sCsrNeighborRoamBSSInfo *bss_node; QDF_STATUS status; + csr_dequeue_command(mac); roam_info = qdf_mem_malloc(sizeof(*roam_info)); if (!roam_info) return;