From f929aaa7c045b91a4b50ca39fca90bb3d60f8662 Mon Sep 17 00:00:00 2001 From: Hridya Valsaraju Date: Fri, 17 May 2019 14:24:19 -0700 Subject: [PATCH] Get max-download-size from device during fastbootd for flashall/update Currently, during a 'fastboot flashall/fastboot update', the 'getvar max-download-size' command is issued once to the device when it is in bootloader mode and the same value is used even after the device boots into fastbootd. If the max-download-size returned by bootloader is greater than the max-download-size in fastbootd, this could break flash as large images are broken down into chunks before downloading by using the max-download-size variable. This will cause fastbootd to return an error since it checks whether the buffer being downloaded has a size greater than the max-download-size limit. Test: fastboot flashall Bug: 132917902 Change-Id: Ife7c1ec0583d80d4a31ecf01f1fc14a8365afe0d Merged-In: Ife7c1ec0583d80d4a31ecf01f1fc14a8365afe0d (cherry picked from commit 83d856e4c59b6c02eeb7d468892b157a13f7cbf5) --- fastboot/fastboot.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp index 827db9671..e201186a5 100644 --- a/fastboot/fastboot.cpp +++ b/fastboot/fastboot.cpp @@ -1177,6 +1177,10 @@ static void reboot_to_userspace_fastboot() { if (!is_userspace_fastboot()) { die("Failed to boot into userspace fastboot; one or more components might be unbootable."); } + + // Reset target_sparse_limit after reboot to userspace fastboot. Max + // download sizes may differ in bootloader and fastbootd. + target_sparse_limit = -1; } class ImageSource {