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
This commit is contained in:
Yu Wang 2021-03-08 15:52:31 +08:00 • committed by snandini
commit 872317953e

View file

@ -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,