Add some missing endian conversions in fdt_support.c
PATCH 1/1 Add some missing endian conversions in fdt_support.c
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.
--- common/fdt_support.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
common/fdt_support.c +2 -2
@@ -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 ;
Signature · 1 line
1.7.3.1
PATCH 1/1 Add some missing endian conversions in fdt_support.c
+fdt maintainer
Quoted 26 lines · On Tuesday 08 November 2011 04:05:32 Gabe Black wrote:
Some functions in
fdt_support.cusefdt_getpropto 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 <[email protected]>--- common/fdt_support.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)common/fdt_support.c +1
-1@@ -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;}
common/fdt_support.c static int get_cells_len(void *blob, char · line 378
Quoted 8 lines
common/fdt_support.c +1
-1@@ -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
PATCH 1/1 Add some missing endian conversions in fdt_support.c
Bump.
Quoted 40 lines · Mike Frysinger
+fdt maintainer
Quoted 3 lines · On Tuesday 08 November 2011 04:05:32 Gabe Black wrote:
Some functions in
fdt_support.cusefdt_getpropto 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 appearin
common/fdt_support.c u32 fdt_getprop_u32_default(void *fdt, const char
Quoted 13 lines
practice, the functions continued to work even though they're incorrect. This change adds the missing conversions.
Signed-off-by Gabe Black <[email protected]>--- common/fdt_support.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)common/fdt_support.c +0
-0@@ -61,7 +61,7 @@ u32 fdt_getprop_u32_default(void *fdt, const char*path,
Quoted 18 lines
common/fdt_support.c +1
-1const char *prop, val =fdt_getprop (fdt, off, prop,NULL );if (val) -return *val; +return fdt32_to_cpu (*val);else return dflt;}
common/fdt_support.c +1
-1@@ -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 ;
PATCH 1/1 Add some missing endian conversions in fdt_support.c
In reply to Gabe BlackQuoted 10 lines · Gabe Black
Some functions in
fdt_support.cusefdt_getpropto 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<[email protected]>--- common/fdt_support.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
Applied and requested a bugfix pull.
Thanks,
gvb