FASTBOOT: Make "oem format" usable on fresh unit again
When I cleaned up the return handling, I changed do_fastboot() to
check fbt_fastboot_init()'s error return and fail if it saw an
error. This will prevent fastboot from running on a unit that
does not have a partition table. Change fbt_fastboot_init() to
ignore errors from fbt_load_partition_table() and turn it into a
void function.
Change-Id: I6b032ff059424dcbba9aa87afcab3fb634f244c3
Signed-off-by: Scott Anderson <[email protected]>
diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c
index 74d61ad..7da6b32 100644
--- a/common/cmd_fastboot.c
+++ b/common/cmd_fastboot.c
@@ -1461,7 +1461,7 @@
#endif
}
-static int fbt_fastboot_init(void)
+static void fbt_fastboot_init(void)
{
char *fastboot_unlocked_env;
#ifdef FASTBOOT_PORT_OMAPZOOM_NAND_FLASHING
@@ -1507,10 +1507,12 @@
priv.nand_oob_size = FASTBOOT_NAND_OOB_SIZE;
#endif
- if (fbt_load_partition_table())
- return 1;
-
- return 0;
+ /*
+ * We need to be able to run fastboot even if there isn't a partition
+ * table (so we can use "oem format") and fbt_load_partition_table
+ * already printed an error, so just ignore the error return.
+ */
+ (void)fbt_load_partition_table();
}
static int fbt_handle_erase(char *cmdbuf)
@@ -2848,11 +2850,7 @@
board_fbt_start();
- ret = fbt_fastboot_init();
- if (ret) {
- FBTERR("%s: fastboot initialization failure\n", __func__);
- goto out;
- }
+ fbt_fastboot_init();
fbt_init_endpoint_ptrs();