diff options
author | Yinghai Lu <Yinghai.Lu@Sun.COM> | 2008-02-20 12:41:52 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 11:28:43 +0200 |
commit | b755de8dfdfef97effaa91379ffafcb81f4d62a1 (patch) | |
tree | d37e4b66cf2874b2a7dac3cfe01e8da84cd133c5 /arch/x86/pci | |
parent | 1b40a895df6c7d5a80e71f65674060b03d84bbef (diff) |
x86: make dev_to_node return online node
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>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/acpi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index d95de2f199cd..ea8685f89bc3 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c @@ -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. |