> -----Original Messages----- > From: "Tom Rini" <tr...@ti.com> > Sent Time: 2014-01-21 06:47:25 (Tuesday) > To: u-boot@lists.denx.de > Cc: > Subject: [U-Boot] [PATCH] fdt_support.c: Correct linux, initrd-start/end > setting > > The change to add 64bit initrd support broke 32bit initrd support as it > always set 64bits worth of data into the properties, even on 32bit > systems. The fix is to use addr_cell_len (which already says how much > data is in 'tmp') to set the property, rather than always setting 8. > Thanks to Stephen Warren for pointing out the fix here. > > Reported-by: Otavio Salvador <ota...@ossystems.com.br> > Signed-off-by: Tom Rini <tr...@ti.com> > --- > common/fdt_support.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/common/fdt_support.c b/common/fdt_support.c > index b9dce99..f9f358e 100644 > --- a/common/fdt_support.c > +++ b/common/fdt_support.c > @@ -204,7 +204,7 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong > initrd_end, int force) > if ((path == NULL) || force) { > write_cell((u8 *)&tmp, initrd_start, addr_cell_len); > err = fdt_setprop(fdt, nodeoffset, > - "linux,initrd-start", &tmp, sizeof(tmp)); > + "linux,initrd-start", &tmp, addr_cell_len); > if (err < 0) { > printf("WARNING: " > "could not set linux,initrd-start %s.\n", > @@ -213,7 +213,7 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong > initrd_end, int force) > } > write_cell((u8 *)&tmp, initrd_end, addr_cell_len); > err = fdt_setprop(fdt, nodeoffset, > - "linux,initrd-end", &tmp, sizeof(tmp)); > + "linux,initrd-end", &tmp, addr_cell_len); > if (err < 0) { > printf("WARNING: could not set linux,initrd-end %s.\n", > fdt_strerror(err)); > -- > 1.7.9.5 >
It should be like this. Acked. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot