From 11d6d278cd8141a5bdb3ca25576039124c44fa6e Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 7 Dec 2018 16:39:07 -0800 Subject: [PATCH] fastboot: Wait for reboot-fastboot to complete before signaling success. Bug: N/A Test: manual test Change-Id: I07495c1befcf63607c9996d6da6b4df05c060641 --- fastboot/fastboot.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp index fee08577c..c77b3f713 100644 --- a/fastboot/fastboot.cpp +++ b/fastboot/fastboot.cpp @@ -1158,6 +1158,10 @@ static void reboot_to_userspace_fastboot() { std::this_thread::sleep_for(std::chrono::milliseconds(1000)); fb->set_transport(open_device()); + + if (!is_userspace_fastboot()) { + die("Failed to boot into userspace fastboot; one or more components might be unbootable."); + } } class ImageSource { @@ -1314,9 +1318,6 @@ void FlashAllTool::UpdateSuperPartition() { if (!is_userspace_fastboot()) { reboot_to_userspace_fastboot(); } - if (!is_userspace_fastboot()) { - die("Failed to boot into userspace; one or more components might be unbootable."); - } std::string super_name; if (fb->GetVar("super-partition-name", &super_name) != fastboot::RetCode::SUCCESS) { @@ -1962,8 +1963,7 @@ int FastBootTool::Main(int argc, char* argv[]) { fb->RebootTo("recovery"); fb->WaitForDisconnect(); } else if (wants_reboot_fastboot) { - fb->RebootTo("fastboot"); - fb->WaitForDisconnect(); + reboot_to_userspace_fastboot(); } fprintf(stderr, "Finished. Total time: %.3fs\n", (now() - start));