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);