[U-Boot] [PATCH] Add some missing endian conversions in fdt_support.c
Gabe Black
gabeblack at chromium.org
Sun Nov 13 03:07:52 CET 2011
Bump.
On Tue, Nov 8, 2011 at 5:47 AM, Mike Frysinger <vapier at gentoo.org> wrote:
> +fdt maintainer
>
> On Tuesday 08 November 2011 04:05:32 Gabe Black wrote:
> > Some functions in fdt_support.c use fdt_getprop to read 32 bit values out
> > of the device tree, but then use them directly without doing any endian
> > conversion. Because they check for a value that doesn't actually appear
> in
> > practice, the functions continued to work even though they're incorrect.
> > This change adds the missing conversions.
> >
> > Signed-off-by: Gabe Black <gabeblack at chromium.org>
> > ---
> > common/fdt_support.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/common/fdt_support.c b/common/fdt_support.c
> > index bdda64d..c501604 100644
> > --- a/common/fdt_support.c
> > +++ b/common/fdt_support.c
> > @@ -61,7 +61,7 @@ u32 fdt_getprop_u32_default(void *fdt, const char
> *path,
> > const char *prop,
> >
> > val = fdt_getprop(fdt, off, prop, NULL);
> > if (val)
> > - return *val;
> > + return fdt32_to_cpu(*val);
> > else
> > return dflt;
> > }
> > @@ -372,7 +372,7 @@ static int get_cells_len(void *blob, char
> > *nr_cells_name) const u32 *cell;
> >
> > cell = fdt_getprop(blob, 0, nr_cells_name, NULL);
> > - if (cell && *cell == 2)
> > + if (cell && fdt32_to_cpu(*cell) == 2)
> > return 8;
> >
> > return 4;
>
More information about the U-Boot
mailing list