From 8cc3b847a03a5d3b0ccc2ef9ef8acb7e849447fd Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Wed, 23 Oct 2019 15:30:17 +0530 Subject: [PATCH] qcacld-3.0: Reduce the candidate list to 5 in roam cmd for SAE auth Current driver configuration is as follow: 1. SME active roam command queue timeout is 30 seconds 2. SAE auth timeout is 5 seconds 3. Max BSS count in roam command (CSR_MAX_BSSID_COUNT) for SAE authentication is 8 As SAE auth timeout is 5 seconds and SME active command queue timeout are 30 seconds, so only 6 SAE auth timeouts (30/5 = 6) are enough to trigger SME active command queue timeout for roam command. In case of continuous SAE auth time out, Driver will try SAE connection till 8th candidate. So when driver tries to process SAE connection for 7th BSSID, device leads to crash as by this time SAE roam command(connect command) gets removed from SME active roam command queue. Fix is to reduce the candidate list to 5 in roam command for SAE authentication considering SME roam command queue timeout is of 30 seconds. Change-Id: Ic43f44ef14ea4c3b972635682941a624cdc6dcc7 CRs-Fixed: 2551462 --- core/sme/src/csr/csr_inside_api.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/sme/src/csr/csr_inside_api.h b/core/sme/src/csr/csr_inside_api.h index a22f61399131..a6cced8e5b51 100644 --- a/core/sme/src/csr/csr_inside_api.h +++ b/core/sme/src/csr/csr_inside_api.h @@ -44,10 +44,11 @@ #define CSR_ACTIVE_SCAN_LIST_CMD_TIMEOUT (1000*30) #endif /* *************************************************************************** - * The MAX BSSID Count should be lower than the command timeout value and it - * can be of a fraction of 1/3 to 1/2 of the total command timeout value. + * The MAX BSSID Count should be lower than the command timeout value. + * As in some case auth timeout can take upto 5 sec (in case of SAE auth) try + * (command timeout/5000 - 1) candidates. * ***************************************************************************/ -#define CSR_MAX_BSSID_COUNT (SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE/3000) - 2 +#define CSR_MAX_BSSID_COUNT (SME_ACTIVE_LIST_CMD_TIMEOUT_VALUE/5000) - 1 #define CSR_CUSTOM_CONC_GO_BI 100 extern uint8_t csr_wpa_oui[][CSR_WPA_OUI_SIZE]; bool csr_is_supported_channel(struct mac_context *mac, uint8_t channelId);