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
This commit is contained in:
Rajeev Kumar 2017-03-13 18:11:29 -07:00 • committed by Sandeep Puligilla
commit 662d75d26b

View file

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