From: Thierry Reding Date: Thu, 15 Feb 2018 18:05:59 +0000 (+0100) Subject: fdt: Fixup only valid memory banks X-Git-Url: http://git.dujemihanovic.xyz/%22/img/sics.gif/%22/static/git-favicon.png?a=commitdiff_plain;h=ed5af03f9bb8905f1e94d68ab49f22d7f061d75f;p=u-boot.git fdt: Fixup only valid memory banks Memory banks with address 0 and size 0 are empty and should not be passed to the OS via device tree. Acked-by: Stephen Warren Signed-off-by: Thierry Reding --- diff --git a/common/fdt_support.c b/common/fdt_support.c index bd0478de40..b14853625f 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -447,6 +447,13 @@ int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks) return err; } + for (i = 0; i < banks; i++) { + if (start[i] == 0 && size[i] == 0) + break; + } + + banks = i; + if (!banks) return 0;