From 0fdaae998a6417c09ac335587ea64639c5fede32 Mon Sep 17 00:00:00 2001 From: Santosh Anbu Date: Thu, 24 Oct 2019 10:06:39 +0530 Subject: [PATCH] qcacmn: Handle start event failure When the start continue callback fails due to any of the error scenarios such as unable to find the channel, then the vdev SM is stuck in the connection progress state leading to timeout at the OSIF. Graciously handle the start event failure by posting a connection fail event back to vdev SM. Change-Id: I0e4a3cf95529a09c88bc7fd4069aec99d4b9d78d CRs-Fixed: 2552168 --- umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c b/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c index b512e6e6d665..5e936b2b7f7b 100644 --- a/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c +++ b/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c @@ -920,7 +920,12 @@ static bool mlme_vdev_subst_start_conn_progress_event(void *ctx, case WLAN_VDEV_SM_EV_CONN_PROGRESS: /* This API decides to move to DFS CAC WAIT or UP state, * for station notify connection state machine */ - mlme_vdev_start_continue(vdev_mlme, event_data_len, event_data); + if (mlme_vdev_start_continue(vdev_mlme, event_data_len, + event_data) != QDF_STATUS_SUCCESS) + mlme_vdev_sm_deliver_event( + vdev_mlme, + WLAN_VDEV_SM_EV_CONNECTION_FAIL, + event_data_len, event_data); status = true; break;