xen: arm: ignore zero sized memory banks
authorIan Campbell <ian.campbell@citrix.com>
Mon, 30 Jun 2014 15:38:20 +0000 (16:38 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 9 Jul 2014 12:34:56 +0000 (13:34 +0100)
At least one platform (xgene) has a memory node which contains 4
banks, 3 of which are all zeroes.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
xen/common/device_tree.c

index 310635ea7d11900bc9da7b26eaf16585381cc194..53f779a4f320a03ee33ed30444eb5c310abb5c2f 100644 (file)
@@ -322,6 +322,8 @@ static void __init process_memory_node(const void *fdt, int node,
     for ( i = 0; i < banks && early_info.mem.nr_banks < NR_MEM_BANKS; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
+        if ( !size )
+            continue;
         early_info.mem.bank[early_info.mem.nr_banks].start = start;
         early_info.mem.bank[early_info.mem.nr_banks].size = size;
         early_info.mem.nr_banks++;