diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-08-27 14:30:07 +0200 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-08-27 14:30:07 +0200 |
commit | efda9452046bdd707b23a85b7846ec33548f84f1 (patch) | |
tree | f08c915049ea1829ba115cd41a0ba28ddf184e07 /arch/x86_64/pci/k8-bus.c | |
parent | b01f2cc1c37ac3d5ca313c90370a586dffe5aca9 (diff) | |
parent | 36676bcbf9f6bcbea9d06e67ee8d04eacde54952 (diff) |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'arch/x86_64/pci/k8-bus.c')
-rw-r--r-- | arch/x86_64/pci/k8-bus.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/x86_64/pci/k8-bus.c b/arch/x86_64/pci/k8-bus.c index c2c38b57993..d80c323669e 100644 --- a/arch/x86_64/pci/k8-bus.c +++ b/arch/x86_64/pci/k8-bus.c @@ -47,13 +47,22 @@ fill_mp_bus_to_cpumask(void) * if there are no busses hanging off of the current * ldt link then both the secondary and subordinate * bus number fields are set to 0. + * + * RED-PEN + * This is slightly broken because it assumes + * HT node IDs == Linux node ids, which is not always + * true. However it is probably mostly true. */ if (!(SECONDARY_LDT_BUS_NUMBER(ldtbus) == 0 && SUBORDINATE_LDT_BUS_NUMBER(ldtbus) == 0)) { for (j = SECONDARY_LDT_BUS_NUMBER(ldtbus); j <= SUBORDINATE_LDT_BUS_NUMBER(ldtbus); - j++) - pci_bus_to_node[j] = NODE_ID(nid); + j++) { + int node = NODE_ID(nid); + if (!node_online(node)) + node = 0; + pci_bus_to_node[j] = node; + } } } } |