From 46a15a39bcdb4bdd01f22adbf5c98ed023afe224 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Thu, 19 Oct 2017 16:21:22 -0700 Subject: [PATCH] qcacld-3.0: Call cds_sched_close in cds_open error path When cds_open fails after calling cds_sched_open, cleanup is attempted. However, cds_sched_close is currently protected by a faulty conditional. Remove the conditional so the scheduler context can be cleaned up appropriately for all cds_open failure modes. Change-Id: I709e8d2af06ffdf1a2910d81d23fa3a33ffbe074 CRs-Fixed: 2129677 --- core/cds/src/cds_api.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 791d71b85651..d2aa015bb6b8 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -645,12 +645,10 @@ err_bmi_close: bmi_cleanup(ol_ctx); err_sched_close: - if (QDF_IS_STATUS_SUCCESS(qdf_status) && - (hdd_ctx->driver_status == DRIVER_MODULES_UNINITIALIZED || - cds_is_driver_recovering())) { - qdf_status = cds_sched_close(); - if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - hdd_err("Failed to close CDS Scheduler"); + if (hdd_ctx->driver_status == DRIVER_MODULES_UNINITIALIZED || + cds_is_driver_recovering()) { + if (QDF_IS_STATUS_ERROR(cds_sched_close())) { + cds_err("Failed to close CDS Scheduler"); QDF_ASSERT(false); } }