Browse Source

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
Kiran Kumar Lokere 9 years ago
parent
commit
475c177cf5
1 changed files with 2 additions and 17 deletions
  1. 2 17
      core/sap/src/sap_fsm.c

+ 2 - 17
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)