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
This commit is contained in:
Elliott Hughes 2017-05-15 16:53:53 -07:00
parent 3cfc1ab89d
commit 1eec97af07
1 changed files with 4 additions and 4 deletions

View File

@ -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 {