소스 검색

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
gaurank kathpalia 5 년 전
부모
커밋
644413b274
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      wmi/src/wmi_unified_roam_tlv.c

+ 4 - 0
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);