If bl_len is not aligned it can caused a problem because another code
expects that start is aligned.

Signed-off-by: Michal Simek <michal.si...@xilinx.com>
---

Not sure if this is the right way how to ensure it.
But patch is pointing to the problem. For example if bl_len is 1.
---
 common/spl/spl_fit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index e301927c87ac..08e432a52dbb 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -119,6 +119,7 @@ int spl_load_simple_fit(struct spl_load_info *info, ulong 
sector, void *fit)
         * be before CONFIG_SYS_TEXT_BASE.
         */
        fit = (void *)(CONFIG_SYS_TEXT_BASE - size - info->bl_len);
+       fit = (void *)ALIGN((ulong)fit, 8);
        sectors = (size + info->bl_len - 1) / info->bl_len;
        count = info->read(info, sector, sectors, fit);
        debug("fit read sector %lx, sectors=%d, dst=%p, count=%lu\n",
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to