Explorar o código

qcacld-3.0: Donot de-init DP RX threads if not inited

In one of the tests, when the driver switches to FTM mode, DP RX threads
are not initialized as the necessary configuration is not passed down
from CDS. However, cds_dp_close tries to de-initialize the threads and a
spinlock un-initialized error is seen.

Donot de-initialize the DP RX thread module if it is not initialized.

Change-Id: I14a1dcb678c9d953abd3262e86408d12f4eb2617
CRs-Fixed: 2301398
Mohit Khanna %!s(int64=6) %!d(string=hai) anos
pai
achega
13ea524aa3
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      core/dp/txrx3.0/dp_txrx.c

+ 4 - 2
core/dp/txrx3.0/dp_txrx.c

@@ -33,7 +33,7 @@ QDF_STATUS dp_txrx_init(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
 		return QDF_STATUS_E_NOMEM;
 	}
 
-	dp_debug("dp_txrx_handle allocated");
+	dp_info("dp_txrx_handle allocated");
 	dp_ext_hdl->soc = soc;
 	dp_ext_hdl->pdev = pdev;
 	cdp_soc_set_dp_txrx_handle(soc, dp_ext_hdl);
@@ -60,7 +60,9 @@ QDF_STATUS dp_txrx_deinit(ol_txrx_soc_handle soc)
 	if (!dp_ext_hdl)
 		return QDF_STATUS_E_FAULT;
 
-	dp_rx_tm_deinit(&dp_ext_hdl->rx_tm_hdl);
+	if (dp_ext_hdl->config.enable_rx_threads)
+		dp_rx_tm_deinit(&dp_ext_hdl->rx_tm_hdl);
+
 	qdf_mem_free(dp_ext_hdl);
 	dp_info("dp_txrx_handle_t de-allocated");