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

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Fri Jun 10 01:42:09 PDT 2022


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.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20220610/61eacd57/attachment.sig>


More information about the barebox mailing list