From 0b5714337aed370b3bf308b9361b95a2b915010d Mon Sep 17 00:00:00 2001 From: Hanumanth Reddy Pothula Date: Thu, 23 Feb 2017 17:15:37 +0530 Subject: [PATCH] qcacld-3.0: verify driver state when CDS scheduler getting closed Presently, in cds_open() error handling, cds_sched_open is invoked only in UNINTIALIZED or recovery state but same is not checked while invoking cds_sched_close. Invoke cds_sched_close only if driver is in UNITIALIZED state or WLAN driver recovery is in progress. Change-Id: I17e2cbe8f859cab4bc12d1a52a583833fb125ada CRs-Fixed: 2010802 --- core/cds/src/cds_api.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 66d7309b7215..0ff093c76e23 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -627,7 +627,14 @@ err_bmi_close: bmi_cleanup(ol_ctx); err_sched_close: - cds_sched_close(gp_cds_context); + if (pHddCtx->driver_status == DRIVER_MODULES_UNINITIALIZED || + cds_is_driver_recovering()) { + qdf_status = cds_sched_close(gp_cds_context); + if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { + hdd_err("Failed to close CDS Scheduler"); + QDF_ASSERT(false); + } + } err_wma_complete_event: qdf_event_destroy(&gp_cds_context->wmaCompleteEvent);