diff options
| -rw-r--r-- | core/hdd/src/wlan_hdd_driver_ops.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index 26e697f3be9f..a73f3eacdb84 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/core/hdd/src/wlan_hdd_driver_ops.c @@ -555,6 +555,18 @@ static void wlan_hdd_shutdown(void) hdd_err("Load/unload in progress, ignore SSR shutdown"); return; } + + /* + * Force Complete all the wait events before shutdown. + * This is done at "hdd_cleanup_on_fw_down" api also to clean up the + * wait events of north bound apis. + * In case of SSR there is significant dely between FW down event and + * wlan_hdd_shutdown, there is a possibility of race condition that + * these wait events gets complete at "hdd_cleanup_on_fw_down" and + * some new event is added before shutdown. + */ + qdf_complete_wait_events(); + /* this is for cases, where shutdown invoked from platform */ cds_set_recovery_in_progress(true); hdd_wlan_ssr_shutdown_event(); |
