[U-Boot] [PATCH] Add some missing endian conversions in fdt_support.c

Mike Frysinger vapier at gentoo.org
Tue Nov 8 14:47:28 CET 2011


+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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111108/7dfb2ae0/attachment.pgp 


More information about the U-Boot mailing list