From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gary Bisson Date: Wed, 24 Jun 2020 11:00:17 +0200 Subject: [PATCH] fastboot: getvar: fix partition-size return value In-Reply-To: <20200506081228.8669-1-gary.bisson@boundarydevices.com> References: <20200506081228.8669-1-gary.bisson@boundarydevices.com> Message-ID: <20200624090017.GA191073@p1g2> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, Gentle ping on this patch. Anyone had a chance to review? Regards, Gary On Wed, May 06, 2020 at 10:12:28AM +0200, Gary Bisson wrote: > The size returned by 'getvar partition-size' should be in bytes, not in > blocks as fastboot uses that value to generate empty partition when > running format [1]. > > [1] > https://android.googlesource.com/platform/system/core/+/refs/heads/android10-release/fastboot/fastboot.cpp#1500 > > Signed-off-by: Gary Bisson > --- > Hi, > > Another test was to run 'fastboot getvar partition-size:system' on a > shipping Android phone, it will give you the size in bytes as well. > > Regards, > Gary > --- > drivers/fastboot/fb_getvar.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c > index 95cb434189..51a2bea86d 100644 > --- a/drivers/fastboot/fb_getvar.c > +++ b/drivers/fastboot/fb_getvar.c > @@ -94,7 +94,7 @@ static const struct { > * > * @param[in] part_name Info for which partition name to look for > * @param[in,out] response Pointer to fastboot response buffer > - * @param[out] size If not NULL, will contain partition size (in blocks) > + * @param[out] size If not NULL, will contain partition size > * @return Partition number or negative value on error > */ > static int getvar_get_part_info(const char *part_name, char *response, > @@ -108,13 +108,13 @@ static int getvar_get_part_info(const char *part_name, char *response, > r = fastboot_mmc_get_part_info(part_name, &dev_desc, &part_info, > response); > if (r >= 0 && size) > - *size = part_info.size; > + *size = part_info.size * part_info.blksz; > # elif CONFIG_IS_ENABLED(FASTBOOT_FLASH_NAND) > struct part_info *part_info; > > r = fastboot_nand_get_part_info(part_name, &part_info, response); > if (r >= 0 && size) > - *size = part_info->size; > + *size = part_info->size * part_info.blksz; > # else > fastboot_fail("this storage is not supported in bootloader", response); > r = -ENODEV; > -- > 2.26.2 >