[PATCH] fastboot: getvar: fix partition-size return value

Gary Bisson gary.bisson at boundarydevices.com
Wed Aug 26 11:01:33 CEST 2020


Hi,

Gentle ping on this patch. Hopefully Sam's email won't bounce this time.

Let me know if you have any questions.

Regards,
Gary

On Wed, Jun 24, 2020 at 11:00:17AM +0200, Gary Bisson wrote:
> 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 <gary.bisson at boundarydevices.com>
> > ---
> > 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
> > 


More information about the U-Boot mailing list