From fb9d2b5b34392fabd9cde129b44d47469bde69fd Mon Sep 17 00:00:00 2001 From: Manikandan Mohan Date: Wed, 10 May 2017 15:01:28 -0700 Subject: [PATCH] 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 --- core/cds/src/cds_api.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 522c170f7dac..061228e3d11f 100644 --- a/core/cds/src/cds_api.c +++ b/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);