Peter Korsgaard wrote:
> 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 <[EMAIL PROTECTED]>
> Acked-by: Andy Fleming <[EMAIL PROTECTED]>
> ---
>  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);

Applied to the u-boot-fdt subrepo.

Thanks,
gvb

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to