qcacld-3.0: Add vdev state machine for start BSS and CSA failure

Adds vdev state machine for start bss and CSA failure.

Change-Id: I77979af192e40fe44dd9ea7ce41d7be52f40ad15
CRs-Fixed: 2316581
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index f86e1db..88d852e 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -2972,9 +2972,17 @@
 	tpAniSirGlobal mac_ctx = session->mac_ctx;
 	QDF_STATUS status;
 
-	status = wlan_vdev_mlme_sm_deliver_evt(session->vdev,
-					       WLAN_VDEV_SM_EV_DOWN,
+	if (wlan_vdev_mlme_get_substate(session->vdev) ==
+	    WLAN_VDEV_SS_START_RESTART_PROGRESS)
+		status =
+		 wlan_vdev_mlme_sm_deliver_evt(session->vdev,
+					       WLAN_VDEV_SM_EV_RESTART_REQ_FAIL,
 					       sizeof(*session), session);
+	else
+		status = wlan_vdev_mlme_sm_deliver_evt(session->vdev,
+						       WLAN_VDEV_SM_EV_DOWN,
+						       sizeof(*session),
+						       session);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		pe_err("failed to post WLAN_VDEV_SM_EV_DOWN for vdevid %d",
 		       session->smeSessionId);