From 872317953e1c4ef7a89a09e505ca7ffbdb2a8f3a Mon Sep 17 00:00:00 2001 From: Yu Wang Date: Mon, 8 Mar 2021 15:52:31 +0800 Subject: [PATCH] qcacld-3.0: correct result code for unexpected MLM join request When processing unexpected MLM join request in STA mode, it won't create bss peer or trigger vdev start, just post LIM_MLM_JOIN_CNF with result code eSIR_SME_RESOURCES_UNAVAILABLE; when handling this connection failure, vdev stop will be sent but WLAN_VDEV_SM_EV_STOP_RESP will be discarded due to SM is in INIT state, which leads to PE session leak and unexpected behaviors. To fix it, change the result code to eSIR_SME_PEER_CREATE_FAILED, then the pe_session will be deleted and no vdev stop will be triggered when processing connection failure. Change-Id: I7fd860e7ce07970eafcfb31cd9b54340048d69a4 CRs-Fixed: 2894292 --- core/mac/src/pe/lim/lim_process_mlm_req_messages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c index e6e13636f811..cf337c8e76a7 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c @@ -485,7 +485,7 @@ error: qdf_mem_free(mlm_join_req); if (session) session->pLimMlmJoinReq = NULL; - mlmjoin_cnf.resultCode = eSIR_SME_RESOURCES_UNAVAILABLE; + mlmjoin_cnf.resultCode = eSIR_SME_PEER_CREATE_FAILED; mlmjoin_cnf.sessionId = sessionid; mlmjoin_cnf.protStatusCode = STATUS_UNSPECIFIED_FAILURE; lim_post_sme_message(mac_ctx, LIM_MLM_JOIN_CNF,