+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 <gabebl...@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;

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to