summaryrefslogtreecommitdiff
path: root/arch/x86_64/pci/k8-bus.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-08-24 05:03:34 (GMT)
committerJeff Garzik <jgarzik@pobox.com>2005-08-24 05:03:34 (GMT)
commit75a95178dafb5c8d69b4abe45ea746a9cea23142 (patch)
tree1dbf80c83d9521dcdebc9e670f48da6c1ba34187 /arch/x86_64/pci/k8-bus.c
parent8531c5ffbca65f6df868637c26e6df6f88bff738 (diff)
parent0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf (diff)
downloadlinux-75a95178dafb5c8d69b4abe45ea746a9cea23142.tar.xz
Merge upstream into 'upstream' branch of netdev-2.6.git.
Hand fix merge conflict in drivers/net/tokenring/Kconfig.
Diffstat (limited to 'arch/x86_64/pci/k8-bus.c')
-rw-r--r--arch/x86_64/pci/k8-bus.c13
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 c2c38b5..d80c323 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;
+ }
}
}
}