From 475c177cf52e5d6f0e19be8475394e06b96a54c3 Mon Sep 17 00:00:00 2001 From: Kiran Kumar Lokere Date: Thu, 18 Aug 2016 12:40:07 -0700 Subject: [PATCH] qcacld-3.0: Fix the crash in start bss failure qcacld-2.0 to qcacld-3.0 propagation As per the current logic during start bss failure scenario SAP/GO session is not closed resulting in vdev leakage. Due to above leakage new interface creation with same MAC address results in target assert. Make change to cleanup SAP/GO session on start bss failure. Change-Id: I785b4486f439646e2119adc87895ed95c6b80de6 CRs-Fixed: 954601 --- core/sap/src/sap_fsm.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index 5470f56690..9596e63f7c 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -3780,23 +3780,8 @@ static QDF_STATUS sap_fsm_state_starting(ptSapContext sap_ctx, wlansap_start_beacon_req(sap_ctx); } } - } else if (msg == eSAP_MAC_START_FAILS) { - /* - * Transition from STARTING to DISCONNECTED - * (both without substates) - */ - QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR, - FL("from state %s => %s"), - "eSAP_STARTING", "eSAP_DISCONNECTED"); - - /*Action code for transition */ - qdf_status = sap_signal_hdd_event(sap_ctx, NULL, - eSAP_START_BSS_EVENT, - (void *) eSAP_STATUS_FAILURE); - qdf_status = sap_goto_disconnected(sap_ctx); - /* Advance outer statevar */ - sap_ctx->sapsMachine = eSAP_DISCONNECTED; - } else if (msg == eSAP_HDD_STOP_INFRA_BSS) { + } else if (msg == eSAP_MAC_START_FAILS || + msg == eSAP_HDD_STOP_INFRA_BSS) { /* * Transition from eSAP_STARTING to eSAP_DISCONNECTED * (both without substates)