diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/hdd/src/wlan_hdd_driver_ops.c | 5 | ||||
-rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index efee8e24a3..b46b22775f 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/core/hdd/src/wlan_hdd_driver_ops.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2018,2020 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -413,12 +413,12 @@ static int wlan_hdd_probe(struct device *dev, void *bdev, const struct hif_bus_i goto err_hdd_deinit; + hdd_start_complete(0); if (reinit) { cds_set_recovery_in_progress(false); } else { cds_set_load_in_progress(false); cds_set_driver_loaded(true); - hdd_start_complete(0); } hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT); @@ -449,6 +449,7 @@ err_init_qdf_ctx: hdd_remove_pm_qos(dev); hdd_stop_driver_ops_timer(); + hdd_start_complete(0); mutex_unlock(&hdd_init_deinit_lock); return check_for_probe_defer(ret); } diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 4ecd4a85e1..e76b17f73e 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -12153,7 +12153,7 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp, goto exit; } - if (!cds_is_driver_loaded()) { + if (!cds_is_driver_loaded() || cds_is_driver_recovering()) { init_completion(&wlan_start_comp); rc = wait_for_completion_timeout(&wlan_start_comp, msecs_to_jiffies(HDD_WLAN_START_WAIT_TIME)); |