ソースを参照

qcacld-3.0: Use CDP API to configure interrupt

Use CDP API to configure the interrupt in cds open / close.
CDP API is mainly introduced to call detach interrupt before HTC
stop in cds close routine. This avoids race condition on interrupt
trigger.

Change-Id: Ib9a8e4014ad0bb5e3d1a691121c1069faa8c91e8
CRs-fixed: 2046062
Manikandan Mohan 8 年 前
コミット
fb9d2b5b34
1 ファイル変更7 行追加0 行削除
  1. 7 0
      core/cds/src/cds_api.c

+ 7 - 0
core/cds/src/cds_api.c

@@ -546,6 +546,12 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc)
 			gp_cds_context->htc_ctx, gp_cds_context->qdf_ctx,
 			&dp_ol_if_ops, psoc);
 
+	if (!gp_cds_context->dp_soc)
+		goto err_wma_close;
+
+	if (cdp_txrx_intr_attach(gp_cds_context->dp_soc) != QDF_STATUS_SUCCESS)
+		goto err_wma_close;
+
 	pmo_ucfg_psoc_update_dp_handle(psoc, gp_cds_context->dp_soc);
 
 	cds_set_ac_specs_params(cds_cfg);
@@ -1020,6 +1026,7 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context)
 		QDF_ASSERT(0);
 	}
 
+	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);