Now the "for" loop here iterates on the detected memory banks.
It must skip unused DRAM banks.

Fixes: c995f3a3c526 ("ARM: uniphier: use gd->bd->bi_dram for memory reserve on 
LD20 SoC")
Signed-off-by: Masahiro Yamada <[email protected]>
---

 arch/arm/mach-uniphier/dram_init.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-uniphier/dram_init.c 
b/arch/arm/mach-uniphier/dram_init.c
index d121a3b..4b7b867 100644
--- a/arch/arm/mach-uniphier/dram_init.c
+++ b/arch/arm/mach-uniphier/dram_init.c
@@ -263,6 +263,9 @@ int ft_board_setup(void *fdt, bd_t *bd)
                return 0;
 
        for (i = 0; i < ARRAY_SIZE(gd->bd->bi_dram); i++) {
+               if (!gd->bd->bi_dram[i].size)
+                       continue;
+
                rsv_addr = gd->bd->bi_dram[i].start + gd->bd->bi_dram[i].size;
                rsv_addr -= rsv_size;
 
-- 
2.7.4

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

Reply via email to