diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index dabf33015f76..ef114d122aae 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -2563,17 +2563,17 @@ static int __hdd_open(struct net_device *dev) MTRACE(qdf_trace(QDF_MODULE_ID_HDD, TRACE_CODE_HDD_OPEN_REQUEST, adapter->sessionId, adapter->device_mode)); - if (!hdd_wait_for_recovery_completion()) { - hdd_err("Recovery failed"); - return -EIO; - } - /* Nothing to be done if device is unloading */ if (cds_is_driver_unloading()) { hdd_err("Driver is unloading can not open the hdd"); return -EBUSY; } + if (cds_is_driver_recovering()) { + hdd_err("WLAN is currently recovering; Please try again."); + return -EBUSY; + } + mutex_lock(&hdd_init_deinit_lock); hdd_start_driver_ops_timer(eHDD_DRV_OP_IFF_UP);