From 64beb9fcc9893e7a6db6088945a7963417b69d89 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Wed, 10 Oct 2018 11:23:51 -0700 Subject: [PATCH] qcacld-3.0: Move wmi_stop from pld uevent to wma shutdown notifier PLD FW down uevent is asynchronous which races against all critical driver transition events like probe, remove, shutdown, reinit and hence move wmi_stop to wma shutdown notifier callbakk such that its protected against all critical driver transition events. Change-Id: I91046efeab8bc13b9f5c37d5a4d02b66c63e35a9 CRs-Fixed: 2330980 --- core/hdd/src/wlan_hdd_driver_ops.c | 2 -- core/wma/src/wma_main.c | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index cbb69d7fb101..23148939c31a 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/core/hdd/src/wlan_hdd_driver_ops.c @@ -1592,8 +1592,6 @@ static void wlan_hdd_pld_uevent(struct device *dev, hdd_info("pld event %d", uevent->uevent); wlan_hdd_flush_iface_idle_work(); - wma_wmi_stop(); - wlan_hdd_set_the_pld_uevent(uevent); mutex_lock(&hdd_init_deinit_lock); wlan_hdd_handle_the_pld_uevent(uevent); diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index d86c8aed8c73..20b159218d3f 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -1961,6 +1961,7 @@ static void wma_shutdown_notifier_cb(void *priv) qdf_event_set(&wma_handle->wma_resume_event); pmo_ucfg_psoc_wakeup_host_event_received(wma_handle->psoc); + wmi_stop(wma_handle->wmi_handle); msg.bodyptr = priv; msg.callback = wma_cleanup_vdev_resp_and_hold_req;