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

Sam Protsenko semen.protsenko at linaro.org
Tue Sep 1 12:31:46 CEST 2020


Hi Gary,

On Thu, 27 Aug 2020 at 11:51, Gary Bisson
<gary.bisson at boundarydevices.com> 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].
>
> Note that the function was already returning the proper size in bytes
> for NAND devices (see struct part_info details).
>
> [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>
> ---

Thank you for the patch, all look good! As I understand from the
changelog, v2 fixes sunxi build error found by Lukasz? Other than
that:

Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>

> Changelog v1->v2:
> - removed change for FASTBOOT_FLASH_NAND as not necessary (and therefore
>   not building)
> ---
>  drivers/fastboot/fb_getvar.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c
> index 52da34b1e37..d43f2cfee66 100644
> --- a/drivers/fastboot/fb_getvar.c
> +++ b/drivers/fastboot/fb_getvar.c
> @@ -95,7 +95,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,
> @@ -109,7 +109,7 @@ 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;
>
> --
> 2.28.0
>


More information about the U-Boot mailing list