x86: make dev_to_node return online node
authorYinghai Lu <Yinghai.Lu@Sun.COM>
Wed, 20 Feb 2008 20:41:52 +0000 (12:41 -0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 09:28:43 +0000 (11:28 +0200)
a numa system (with multi HT chains) may return node without ram. Aka it
is not online. Try to get an online node, otherwise return -1.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/pci/acpi.c

index d95de2f..ea8685f 100644 (file)
@@ -172,6 +172,9 @@ struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_device *device, int do
                set_mp_bus_to_node(busnum, node);
        else
                node = get_mp_bus_to_node(busnum);
+
+       if (node != -1 && !node_online(node))
+               node = -1;
 #endif
 
        /* Allocate per-root-bus (not per bus) arch-specific data.