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);