From 662d75d26b5371fbc68a2822c818b56eb84e7f41 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Mon, 13 Mar 2017 18:11:29 -0700 Subject: [PATCH] qcacld-3.0: Purge shutdown notification before wma_close WMA registers for shutdown notification and during wma_close WMA events are destroyed which are accessed from WMA shutdown callback. Hence make sure to purge shutdown notification 1st before calling wma_close. Change-Id: I868a835f3da52596c0451f9c99638dbc97ea6abe CRs-Fixed: 2018911 --- core/cds/src/cds_api.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index cbbc7bbd881d..03bb228bb774 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -568,6 +568,7 @@ err_mac_close: mac_close(gp_cds_context->pMACContext); err_wma_close: + cds_shutdown_notifier_purge(); wma_close(gp_cds_context); wma_wmi_service_close(gp_cds_context); @@ -583,7 +584,6 @@ err_bmi_close: err_sched_close: cds_sched_close(gp_cds_context); - cds_shutdown_notifier_purge(); err_concurrency_lock: qdf_mutex_destroy(&cds_ctx->qdf_conc_list_lock); @@ -1012,6 +1012,8 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context) cdp_soc_detach(gp_cds_context->dp_soc); + cds_shutdown_notifier_purge(); + if (true == wma_needshutdown(cds_context)) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR, "%s: Failed to shutdown wma", __func__); @@ -1051,8 +1053,6 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context) QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status)); } - cds_shutdown_notifier_purge(); - cds_deinit_log_completion(); cds_deinit_ini_config(); qdf_timer_module_deinit();