diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index ed4ca88676d1..8009829404b9 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -36,6 +36,7 @@ #include "wlan_hdd_power.h" #include "wlan_hdd_tsf.h" #include +#include #include "pld_common.h" #include "sap_api.h" @@ -1050,6 +1051,7 @@ QDF_STATUS cds_post_disable(void) tp_wma_handle wma_handle; struct hif_opaque_softc *hif_ctx; struct cdp_pdev *txrx_pdev; + struct scheduler_ctx *sched_ctx; wma_handle = cds_get_context(QDF_MODULE_ID_WMA); if (!wma_handle) { @@ -1069,6 +1071,11 @@ QDF_STATUS cds_post_disable(void) return QDF_STATUS_E_INVAL; } + /* flush any unprocessed scheduler messages */ + sched_ctx = scheduler_get_context(); + if (sched_ctx) + scheduler_queues_flush(sched_ctx); + /* * With new state machine changes cds_close can be invoked without * cds_disable. So, send the following clean up prerequisites to fw,