x86-64: Fix bad_srat() to clear all state
authorAndi Kleen <andi@firstfloor.org>
Sat, 18 Jul 2009 06:56:57 +0000 (08:56 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 21 Jul 2009 22:20:01 +0000 (15:20 -0700)
Need to clear both nodes and nodes_add state for start/end.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
LKML-Reference: <20090718065657.GA2898@basil.fritz.box>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: stable@kernel.org
arch/x86/mm/srat_64.c

index 2dfcbf9..dbb5381 100644 (file)
@@ -79,8 +79,10 @@ static __init void bad_srat(void)
        acpi_numa = -1;
        for (i = 0; i < MAX_LOCAL_APIC; i++)
                apicid_to_node[i] = NUMA_NO_NODE;
-       for (i = 0; i < MAX_NUMNODES; i++)
-               nodes_add[i].start = nodes[i].end = 0;
+       for (i = 0; i < MAX_NUMNODES; i++) {
+               nodes[i].start = nodes[i].end = 0;
+               nodes_add[i].start = nodes_add[i].end = 0;
+       }
        remove_all_active_ranges();
 }