Browse Source

qcacld-3.0: Check neighbor roam state before issuing disconnect

wlan_hdd_try_disconnect should wait for LFR 2.0 based roaming
sequence to complete before triggering disconnect to avoid
potential race conditions.

Change-Id: Ib5ee542350fb8c375bb3629f5437bc37cc79dbb7
CRs-Fixed: 2434842
nakul kachhwaha 6 years ago
parent
commit
5913f35b27
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/hdd/src/wlan_hdd_cfg80211.c

+ 3 - 1
core/hdd/src/wlan_hdd_cfg80211.c

@@ -18160,7 +18160,9 @@ int wlan_hdd_try_disconnect(struct hdd_adapter *adapter)
 		 *
 		 */
 		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));