Просмотр исходного кода

qcacld-3.0: Call htc stop in cds post disable

When driver unloading, htt tx detach and free tx desc, then flush
endpoint tx queue. A low rate case is that endpoint tx queue is not
empty with high latency platform, it will cancel tx and send packet
completion, then crash happens since of NULL point access.

Change-Id: I4918d4c678fffe8b07a1f3b1104e0732c5d960f8
CRs-Fixed: 2084045
Wu Gao 7 лет назад
Родитель
Сommit
9a24fa7752
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      core/cds/src/cds_api.c

+ 4 - 1
core/cds/src/cds_api.c

@@ -1008,6 +1008,10 @@ QDF_STATUS cds_post_disable(void)
 	hif_disable_isr(hif_ctx);
 	hif_reset_soc(hif_ctx);
 
+	if (gp_cds_context->htc_ctx) {
+		htc_stop(gp_cds_context->htc_ctx);
+	}
+
 	cdp_pdev_pre_detach(cds_get_context(QDF_MODULE_ID_SOC),
 		       (struct cdp_pdev *)txrx_pdev, 1);
 
@@ -1040,7 +1044,6 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context)
 
 	cdp_txrx_intr_detach(gp_cds_context->dp_soc);
 	if (gp_cds_context->htc_ctx) {
-		htc_stop(gp_cds_context->htc_ctx);
 		htc_destroy(gp_cds_context->htc_ctx);
 		pmo_ucfg_psoc_update_htc_handle(psoc, NULL);
 		gp_cds_context->htc_ctx = NULL;