[U-Boot] [PATCH] fdt_resize(): ensure minimum padding
Peter Korsgaard
jacmet at sunsite.dk
Tue Oct 28 08:26:52 CET 2008
fdt_add_mem_rsv() requires space for a struct fdt_reserve_entry
(16 bytes), so make sure that fdt_resize at least adds that much
padding, no matter what the location or size of the fdt is.
Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
Acked-by: Andy Fleming <afleming at freescale.com>
---
common/fdt_support.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 8ceeb0f..138334e 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -575,9 +575,12 @@ int fdt_resize(void *blob)
}
}
- /* Calculate the actual size of the fdt */
+ /*
+ * Calculate the actual size of the fdt
+ * plus the size needed for fdt_add_mem_rsv
+ */
actualsize = fdt_off_dt_strings(blob) +
- fdt_size_dt_strings(blob);
+ fdt_size_dt_strings(blob) + sizeof(struct fdt_reserve_entry);
/* Make it so the fdt ends on a page boundary */
actualsize = ALIGN(actualsize, 0x1000);
--
1.5.6.5
More information about the U-Boot
mailing list