
Correct usage of "fastboot getvar_partition_{type,size}" is:
host $> fastboot getvar partition-size:misc partition-size:misc: 0x0000000000000400 Finished. Total time: 0.214s
When the partition name is omitted, current behavior is:
host $> fastboot getvar partition-size getvar:partition-size FAILED (remote: partition not found) finished. total time: 0.005s host $> fastboot getvar partition-size: getvar:partition-size: FAILED (remote: partition not found) finished. total time: 0.006s host $> fastboot getvar partition-type getvar:partition-type FAILED (remote: partition not found) finished. total time: 0.005s host $> fastboot getvar partition-type: getvar:partition-type: FAILED (remote: partition not found) finished. total time: 0.006s
Tell the user the real cause of command failure:
host $> fastboot getvar partition-size getvar:partition-size FAILED (remote: missing partition name) Finished. Total time: 0.003s host $> fastboot getvar partition-size: getvar:partition-size: FAILED (remote: missing partition name) Finished. Total time: 0.003s host $> fastboot getvar partition-type getvar:partition-type FAILED (remote: missing partition name) Finished. Total time: 0.003s host $> fastboot getvar partition-type: getvar:partition-type: FAILED (remote: missing partition name) Finished. Total time: 0.003s
Fixes: f73a7df984a9 ("net: fastboot: Merge AOSP UDP fastboot") Signed-off-by: Eugeniu Rosca erosca@de.adit-jv.com --- drivers/fastboot/fb_getvar.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c index 4d264c985d7e..28e3e2fa1619 100644 --- a/drivers/fastboot/fb_getvar.c +++ b/drivers/fastboot/fb_getvar.c @@ -144,6 +144,11 @@ static void getvar_partition_type(char *part_name, char *response) struct blk_desc *dev_desc; disk_partition_t part_info;
+ if (!part_name || !strcmp(part_name, "")) { + fastboot_fail("missing partition name", response); + return; + } + r = fastboot_mmc_get_part_info(part_name, &dev_desc, &part_info, response); if (r >= 0) { @@ -162,6 +167,11 @@ static void getvar_partition_size(char *part_name, char *response) int r; size_t size;
+ if (!part_name || !strcmp(part_name, "")) { + fastboot_fail("missing partition name", response); + return; + } + #if CONFIG_IS_ENABLED(FASTBOOT_FLASH_MMC) struct blk_desc *dev_desc; disk_partition_t part_info;