소스 검색

qcacld-3.0: Handle channel switch failure in START_RESTART_PROGRESS

During CAC wait if radar indication is found, SAP try to switch to
new channel. If this channel switch fails, SAP is stopped
internally.

This stopped indication is not handled if VDEV state is
START_RESTART_PROGRESS and thus vdev down is not sent to vdev FSM.

Handle SAP stop in START_RESTART_PROGRESS vdev state.

Change-Id: I92e48cc9a85249c88315fbb09fe1a61bd07983fd
CRs-Fixed: 2322996
Abhishek Singh 6 년 전
부모
커밋
8e913fa1ec
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      core/sap/src/sap_fsm.c

+ 5 - 2
core/sap/src/sap_fsm.c

@@ -2506,8 +2506,11 @@ static QDF_STATUS sap_fsm_state_starting(struct sap_context *sap_ctx,
 
 #ifdef CONFIG_VDEV_SM
 		if (msg == eSAP_HDD_STOP_INFRA_BSS &&
-		    wlan_vdev_mlme_get_state(sap_ctx->vdev) ==
-		    WLAN_VDEV_S_DFS_CAC_WAIT) {
+		    ((wlan_vdev_mlme_get_state(sap_ctx->vdev) ==
+		      WLAN_VDEV_S_DFS_CAC_WAIT) ||
+		     (wlan_vdev_mlme_get_substate(sap_ctx->vdev) ==
+		      WLAN_VDEV_SS_START_RESTART_PROGRESS))) {
+
 			/* Transition from SAP_STARTING to SAP_STOPPING */
 			QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
 				  FL("In cac wait state from state %s => %s"),