Parcourir la source

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
Yu Wang il y a 4 ans
Parent
commit
2bb5bc1c45
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      core/mac/src/pe/lim/lim_process_mlm_req_messages.c

+ 1 - 1
core/mac/src/pe/lim/lim_process_mlm_req_messages.c

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