[PATCH] ARM: i.MX7/8M: Make sure the output parameter is always assigned

Sascha Hauer sha at pengutronix.de
Fri Jun 10 01:49:02 PDT 2022


On Fri, Jun 10, 2022 at 10:42:09AM +0200, Uwe Kleine-König wrote:
> Hello,
> 
> On Fri, Jun 10, 2022 at 09:28:54AM +0200, Jürgen Borleis wrote:
> > Am Freitag, 10. Juni 2022, 09:05:57 CEST schrieb Uwe Kleine-König:
> > > Callers of *_get_boot_source (e.g. start_atf() of
> > > nxp-imx8mm-evk or protonic-imx8m) expect src to hold the bootsource
> > > after return. So assign a value reliably.
> > > 
> > > Fixes: ea55770308c0 ("ARM: i.MX: Add i.MX7 base architecture support")
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > > ---
> > >  arch/arm/mach-imx/boot.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/arch/arm/mach-imx/boot.c b/arch/arm/mach-imx/boot.c
> > > index 63afdf1ef4ed..652e2869f2d7 100644
> > > --- a/arch/arm/mach-imx/boot.c
> > > +++ b/arch/arm/mach-imx/boot.c
> > > @@ -526,6 +526,7 @@ static void __imx7_get_boot_source(enum bootsource *src,
> > > int *instance, *src = BOOTSOURCE_SERIAL;
> > >  		break;
> > >  	default:
> > > +		*src = BOOTSOURCE_UNKNOWN;
> > >  		break;
> > >  	}
> > >  }
> > 
> > This changes the API
> 
> I agree to sha here. Callers seem to expect *src to be initialised
> always.
> 
> > and - if really required - should be done for all SoC 
> > specific *_get_boot_sources and not for the imx7 only (IMHO).
> 
> Agreed, that would be
> 
> diff --git a/arch/arm/mach-imx/boot.c b/arch/arm/mach-imx/boot.c
> index 63afdf1ef4ed..c0608c6a8e1b 100644
> --- a/arch/arm/mach-imx/boot.c
> +++ b/arch/arm/mach-imx/boot.c
> @@ -285,6 +285,8 @@ void imx53_get_boot_source(enum bootsource *src, int *instance)
>  	default:
>  		if (imx53_bootsource_nand(cfg1))
>  			*src = BOOTSOURCE_NAND;
> +		else
> +			*src = BOOTSOURCE_UNKNOWN;
>  		break;
>  	}
>  
> @@ -464,6 +466,8 @@ void imx6_get_boot_source(enum bootsource *src, int *instance)
>  	default:
>  		if (imx53_bootsource_nand(bootmode))
>  			*src = BOOTSOURCE_NAND;
> +		else
> +			*src = BOOTSOURCE_UNKNOWN;
>  		break;
>  	}
>  }
> @@ -526,6 +530,7 @@ static void __imx7_get_boot_source(enum bootsource *src, int *instance,
>  		*src = BOOTSOURCE_SERIAL;
>  		break;
>  	default:
> +		*src = BOOTSOURCE_UNKNOWN;
>  		break;
>  	}
>  }
> 
> then.
> 
> @sha: If wrote to have already applied my patch. If you drop it, I
> resend with the above diff and an adapted commit log.

Go ahead

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list