From 644413b27440ea7b5b4c827cf88df0f2bea5335e Mon Sep 17 00:00:00 2001 From: gaurank kathpalia Date: Thu, 12 Mar 2020 12:18:19 +0530 Subject: [PATCH] qcacmn: Do a full scan if no candidate found Sometimes if the user changes his location in the connected state it may happen that the scan does not happen and thus the AP cache channel map would not be updated. Now if partial scan happens due to a roaming trigger then the candidate would not be found and thus would effect roaming. To avoid this set a full scan in roam invoke if the APs are not found in the partial scan. Change-Id: I2d2fd94760de78eaf495effc9caf8cca66c50ff6 CRs-Fixed: 2636431 --- wmi/src/wmi_unified_roam_tlv.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wmi/src/wmi_unified_roam_tlv.c b/wmi/src/wmi_unified_roam_tlv.c index 49321a8f1995..28ae2d4d719a 100644 --- a/wmi/src/wmi_unified_roam_tlv.c +++ b/wmi/src/wmi_unified_roam_tlv.c @@ -871,6 +871,10 @@ static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle, cmd->num_chan = 0; cmd->num_bssid = 0; cmd->roam_scan_mode = WMI_ROAM_INVOKE_SCAN_MODE_CACHE_MAP; + cmd->flags |= (1 << WMI_ROAM_INVOKE_FLAG_FULL_SCAN_IF_NO_CANDIDATE); + cmd->reason = ROAM_INVOKE_REASON_NUD_FAILURE; + } else { + cmd->reason = ROAM_INVOKE_REASON_USER_SPACE; } buf_ptr += sizeof(wmi_roam_invoke_cmd_fixed_param);