summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/cds/src/cds_sched.c1
-rw-r--r--core/hdd/src/wlan_hdd_main.c10
2 files changed, 7 insertions, 4 deletions
diff --git a/core/cds/src/cds_sched.c b/core/cds/src/cds_sched.c
index efc32766242b..0fdab613f6fd 100644
--- a/core/cds/src/cds_sched.c
+++ b/core/cds/src/cds_sched.c
@@ -591,6 +591,7 @@ pkt_freeqalloc_failure:
#endif
/* De-initialize all the message queues */
cds_sched_deinit_mqs(pSchedContext);
+ gp_cds_sched_context = NULL;
return QDF_STATUS_E_RESOURCES;
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index dadc7a7bd7b3..5fe40468a5be 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -8757,10 +8757,12 @@ err_stop_modules:
hdd_wlan_stop_modules(hdd_ctx);
err_exit_nl_srv:
- status = cds_sched_close(hdd_ctx->pcds_context);
- if (!QDF_IS_STATUS_SUCCESS(status)) {
- hdd_err("Failed to close CDS Scheduler");
- QDF_ASSERT(QDF_IS_STATUS_SUCCESS(status));
+ if (DRIVER_MODULES_CLOSED == hdd_ctx->driver_status) {
+ status = cds_sched_close(hdd_ctx->pcds_context);
+ if (!QDF_IS_STATUS_SUCCESS(status)) {
+ hdd_err("Failed to close CDS Scheduler");
+ QDF_ASSERT(QDF_IS_STATUS_SUCCESS(status));
+ }
}
hdd_green_ap_deinit(hdd_ctx);