diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index a110ab6d2b54..e988a2885588 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -18666,7 +18666,9 @@ int wlan_hdd_disconnect(struct hdd_adapter *adapter, u16 reason) * */ INIT_COMPLETION(adapter->roaming_comp_var); - if (hdd_is_roaming_in_progress(hdd_ctx)) { + if (hdd_is_roaming_in_progress(hdd_ctx) || + sme_neighbor_middle_of_roaming(mac_handle, + adapter->vdev_id)) { rc = wait_for_completion_timeout( &adapter->roaming_comp_var, msecs_to_jiffies(WLAN_WAIT_TIME_STOP_ROAM));