Browse Source

qcacld-3.0: Avoid timeout waiting for WMI_SERVICE_READY_EXT_EVENT

WMI_SERVICE_READY_EXT_EVENT isn't supported in Rome F/W, service
ready ext timer shouldn't be started. Ext service bitmap is
passed to host by F/W event: WMI_SERVICE_AVAILABLE_EVENT.

Change-Id: Id8058c2e58c5771ef27482d3e4076869e560acf1
CRs-Fixed: 2251523
Zhu Jianmin 6 years ago
parent
commit
2d87a1c78c
1 changed files with 7 additions and 5 deletions
  1. 7 5
      core/wma/src/wma_main.c

+ 7 - 5
core/wma/src/wma_main.c

@@ -5917,11 +5917,13 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 		goto free_hw_mode_list;
 	}
 
-	status = qdf_mc_timer_start(&wma_handle->service_ready_ext_timer,
-				    WMA_SERVICE_READY_EXT_TIMEOUT);
-	if (QDF_IS_STATUS_ERROR(status))
-		WMA_LOGE("Failed to start the service ready ext timer");
-
+	if (wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) {
+		status = qdf_mc_timer_start(
+				&wma_handle->service_ready_ext_timer,
+				WMA_SERVICE_READY_EXT_TIMEOUT);
+		if (QDF_IS_STATUS_ERROR(status))
+			WMA_LOGE("Failed to start the service ready ext timer");
+	}
 	wma_handle->tx_bfee_8ss_enabled =
 		wmi_service_enabled(wmi_handle, wmi_service_8ss_tx_bfee);