diff options
author | Yinghai Lu <Yinghai.Lu@Sun.COM> | 2008-02-20 20:41:52 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 09:28:43 (GMT) |
commit | b755de8dfdfef97effaa91379ffafcb81f4d62a1 (patch) | |
tree | d37e4b66cf2874b2a7dac3cfe01e8da84cd133c5 /arch/x86/pci | |
parent | 1b40a895df6c7d5a80e71f65674060b03d84bbef (diff) | |
download | linux-b755de8dfdfef97effaa91379ffafcb81f4d62a1.tar.xz |
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 d95de2f..ea8685f 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. |