Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1eec97af authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Fix "fastboot flashing".

...without breaking "fastboot oem". Turns out the bootloader actually needs
to know whether it's getting a "flashing" or "oem" command.

Bug: http://b/38321935
Test: "fastboot flashing unlock" "fastboot oem uart enable"
Change-Id: I2b3c0b42b01e3c884aa794fa273034a366985089
parent 3cfc1ab8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1260,10 +1260,10 @@ static void do_bypass_unlock_command(std::vector<std::string>* args) {
    fb_queue_command("flashing unlock_bootloader", "unlocking bootloader");
}

static void do_oem_command(std::vector<std::string>* args) {
static void do_oem_command(const std::string& cmd, std::vector<std::string>* args) {
    if (args->empty()) syntax_error("empty oem command");

    std::string command("oem");
    std::string command(cmd);
    while (!args->empty()) {
        command += " " + next_arg(args);
    }
@@ -1766,7 +1766,7 @@ int main(int argc, char **argv)
            std::string filename = next_arg(&args);
            fb_queue_upload(filename.c_str());
        } else if (command == "oem") {
            do_oem_command(&args);
            do_oem_command("oem", &args);
        } else if (command == "flashing") {
            if (args.empty()) {
                syntax_error("missing 'flashing' command");
@@ -1776,7 +1776,7 @@ int main(int argc, char **argv)
                                            args[0] == "get_unlock_ability" ||
                                            args[0] == "get_unlock_bootloader_nonce" ||
                                            args[0] == "lock_bootloader")) {
                do_oem_command(&args);
                do_oem_command("flashing", &args);
            } else if (args.size() == 2 && args[0] == "unlock_bootloader") {
                do_bypass_unlock_command(&args);
            } else {