image: fdt: handle coalesced reserve region
authorPatrick Delaunay <patrick.delaunay@st.com>
Wed, 6 Mar 2019 13:23:52 +0000 (14:23 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 8 Mar 2019 16:31:44 +0000 (11:31 -0500)
Handle in boot_fdt_reserve_region
any return value > 0 of lmb_reserve() function;
it occurs when coalesced region are found:
adjacent reserved region are merged.

This patch avoid the error trace:
  ERROR: reserving fdt memory region failed..
when reserved region are merged (return value = 1).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
common/image-fdt.c

index 94089b2215ca4b37be1a16b27417da953d804c4b..01186aeac7a433a35f888b3fa227712fb6dbab80 100644 (file)
@@ -71,10 +71,10 @@ static const image_header_t *image_get_fdt(ulong fdt_addr)
 static void boot_fdt_reserve_region(struct lmb *lmb, uint64_t addr,
                                    uint64_t size)
 {
-       int ret;
+       long ret;
 
        ret = lmb_reserve(lmb, addr, size);
-       if (!ret) {
+       if (ret >= 0) {
                debug("   reserving fdt memory region: addr=%llx size=%llx\n",
                      (unsigned long long)addr, (unsigned long long)size);
        } else {