This has been reported to break booting of U-Boot from SPL on a number
of platforms due to a lack of alignment of the external data.  The
issues this commit is addressing will need to be resolved another way.

This reverts commit 20a154f95bfe0a3b5bfba90bea7f001c58217536.

Reported-by: Alex Kiernan <alex.kier...@gmail.com>
Reported-by: Michael Walle <mich...@walle.cc>
Signed-off-by: Tom Rini <tr...@konsulko.com>
---
 tools/fit_image.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/fit_image.c b/tools/fit_image.c
index 1e0f1e9fce8b..88ff093d05be 100644
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
@@ -435,7 +435,7 @@ static int fit_extract_data(struct image_tool_params 
*params, const char *fname)
        int image_number;
        int align_size;
 
-       align_size = params->bl_len ? params->bl_len : 1;
+       align_size = params->bl_len ? params->bl_len : 4;
        fd = mmap_fdt(params->cmdname, fname, 0, &fdt, &sbuf, false, false);
        if (fd < 0)
                return -EIO;
@@ -493,6 +493,7 @@ static int fit_extract_data(struct image_tool_params 
*params, const char *fname)
        fdt_pack(fdt);
 
        new_size = fdt_totalsize(fdt);
+       new_size = ALIGN(new_size, align_size);
        fdt_set_totalsize(fdt, new_size);
        debug("Size reduced from %x to %x\n", fit_size, fdt_totalsize(fdt));
        debug("External data size %x\n", buf_ptr);
-- 
2.17.1

Reply via email to