fdt_resize(): ensure minimum padding

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@sunsite.dk>
Acked-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
Peter Korsgaard 2008-10-28 08:26:52 +01:00 committed by Gerald Van Baren
parent d685b74c64
commit f242a08871

View file

@ -602,9 +602,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);