From ca166e0f53bded1d4e659dc8bbf16be8aae5d093 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Mon, 2 Nov 2020 13:42:58 +0530 Subject: [PATCH] Revert "qcacld-3.0: Change the priority of the deauth and disassoc commands" This reverts commit "Change-Id: 5859acc0d6938feaf52516fcc5c18f0bdcab14ab". Above change is not required on this branch as the issue fixed with above change is not present on this branch. And because of the above change there is an issue of priority inversion between disconnect stats and deauth/disassoc commands. disconnect stats command should always execute before deauth/disassoc commands so that peer stats can be retrieved before peer gets deleted. with current implementation where both the commands have high priority disconnect stats command will execute first if there is no active command in the active queue else deauth/disassoc command will be queued before the disconnect stats command and if there are multiple clients connected to SAP and all gets disconnect at the same time, disconnect stats command for all the clients will be there in the serialization queue, because of which serialization queue gets full and no other command can be added to serialization queue. To address above issue change the priority of the deauth/disassoc commands so that disconnect stats always gets chance to execute first. Change-Id: I7041ddfcb195da5a9e203feb5bbb36e645141630 CRs-Fixed: 2808528 --- core/sme/src/csr/csr_api_roam.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 6289aaece3ff..8885c6ce360b 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -3912,7 +3912,7 @@ QDF_STATUS csr_roam_issue_disassociate_sta_cmd(struct mac_context *mac, mac, sessionId, p_del_sta_params->peerMacAddr); - status = csr_queue_sme_command(mac, pCommand, true); + status = csr_queue_sme_command(mac, pCommand, false); if (!QDF_IS_STATUS_SUCCESS(status)) sme_err("fail to send message status: %d", status); } while (0); @@ -3957,7 +3957,7 @@ QDF_STATUS csr_roam_issue_deauth_sta_cmd(struct mac_context *mac, csr_roam_issue_disconnect_stats(mac, sessionId, pDelStaParams->peerMacAddr); - status = csr_queue_sme_command(mac, pCommand, true); + status = csr_queue_sme_command(mac, pCommand, false); if (!QDF_IS_STATUS_SUCCESS(status)) sme_err("fail to send message status: %d", status); } while (0);