[PATCH 09/12] fastboot: nand: Fix return error code
Andre Przywara
andre.przywara at arm.com
Fri Jun 25 16:08:03 CEST 2021
On Fri, 25 Jun 2021 15:05:44 +0200
Maxime Ripard <maxime at cerno.tech> wrote:
> Both mtdparts_init() and find_dev_and_part() will return 0 on success
> but 1 on failure.
>
> Since the calling functions of fb_nand_lookup expects a negative error
> code on failure, we can't just return the returned value of these
> functions.
>
> This fixes an issue with the logic that detects whether we support
> fastboot slots or not by calling fb_nand_lookup and assuming that
> anything >= 0 means the partition is there.
>
> Signed-off-by: Maxime Ripard <maxime at cerno.tech>
Yes indeed, good catch!
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
> drivers/fastboot/fb_nand.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fastboot/fb_nand.c b/drivers/fastboot/fb_nand.c
> index e07df33d3665..9d832fd8ca9a 100644
> --- a/drivers/fastboot/fb_nand.c
> +++ b/drivers/fastboot/fb_nand.c
> @@ -44,14 +44,14 @@ static int fb_nand_lookup(const char *partname,
> if (ret) {
> pr_err("Cannot initialize MTD partitions\n");
> fastboot_fail("cannot init mtdparts", response);
> - return ret;
> + return -EINVAL;
> }
>
> ret = find_dev_and_part(partname, &dev, &pnum, part);
> if (ret) {
> pr_err("cannot find partition: '%s'\n", partname);
> fastboot_fail("cannot find partition", response);
> - return ret;
> + return -ENODEV;
> }
>
> if (dev->id->type != MTD_DEV_TYPE_NAND) {
More information about the U-Boot
mailing list