Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 437bf10f authored by Abhishek Singh's avatar Abhishek Singh Committed by Madan Koyyalamudi
Browse files

qcacld-3.0: Initiate WLAN_VDEV_SM_EV_START only in init state

Initiate WLAN_VDEV_SM_EV_START for connect only in INIT state
as if its not in init state the VDEV SM is not cleaned up, which
needs to be debugged.

Sending WLAN_VDEV_SM_EV_START can cause pe session leak if the
event is handled by VDEV SM and return success. This can eventually
lead to all the pe session in used state.

Change-Id: I8245a7985bb08b04008b4f833f9474947c1bf57b
CRs-Fixed: 2982070
parent bed6fd1b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1082,6 +1082,16 @@ static QDF_STATUS lim_send_join_req(struct pe_session *session,
{
	QDF_STATUS status;

	/* Continue connect only if Vdev is in INIT state */
	status = wlan_vdev_mlme_is_init_state(session->vdev);
	if (QDF_IS_STATUS_ERROR(status)) {
		pe_err("Vdev %d not in int state cur state %d substate %d",
			session->vdev_id,
			wlan_vdev_mlme_get_state(session->vdev),
			wlan_vdev_mlme_get_substate(session->vdev));
		return status;
	}

	status = mlme_set_assoc_type(session->vdev, VDEV_ASSOC);
	if (QDF_IS_STATUS_ERROR(status))
		return status;