From 44cde35fcc0b33b9016d183f25a5b0f8382ccb21 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Mon, 4 Dec 2017 13:14:46 -0800 Subject: [PATCH] qcacld-3.0: Call new dispatcher enable/disable APIs The dispatcher life-cycle functions have recently been split, resulting in new dispatcher_enable and dispatcher_disable APIs. Call these APIs as appropriate from HDD. Change-Id: I807070e67811e9d5804a8ffa2d7f7db62efb0908 CRs-Fixed: 2153292 --- core/cds/src/cds_api.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 2dacf70f35bb..87fecfd757fd 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -492,16 +492,21 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc) goto err_wma_complete_event; } + status = dispatcher_enable(); + if (QDF_IS_STATUS_ERROR(status)) { + cds_err("Failed to enable dispatcher; status:%d", status); + goto err_wma_complete_event; + } + /* Now Open the CDS Scheduler */ status = cds_sched_open(gp_cds_context, &gp_cds_context->qdf_sched, sizeof(cds_sched_context)); - if (QDF_IS_STATUS_ERROR(status)) { /* Critical Error ... Cannot proceed further */ cds_alert("Failed to open CDS Scheduler"); QDF_ASSERT(0); - goto err_wma_complete_event; + goto err_dispatcher_disable; } scn = cds_get_context(QDF_MODULE_ID_HIF); @@ -687,6 +692,10 @@ err_sched_close: QDF_ASSERT(false); } +err_dispatcher_disable: + if (QDF_IS_STATUS_ERROR(dispatcher_disable())) + cds_err("Failed to disable dispatcher"); + err_wma_complete_event: qdf_event_destroy(&gp_cds_context->wmaCompleteEvent); @@ -1128,6 +1137,11 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc) if (QDF_IS_STATUS_ERROR(qdf_status)) cds_err("Failed to close CDS Scheduler"); + qdf_status = dispatcher_disable(); + QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); + if (QDF_IS_STATUS_ERROR(qdf_status)) + cds_err("Failed to disable dispatcher; status:%d", qdf_status); + dispatcher_psoc_close(psoc); qdf_status = wma_wmi_work_close();