diff options
Diffstat (limited to 'arch/x86_64/pci/k8-bus.c')
-rw-r--r-- | arch/x86_64/pci/k8-bus.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86_64/pci/k8-bus.c b/arch/x86_64/pci/k8-bus.c index d80c323669e0..3acf60ded2a0 100644 --- a/arch/x86_64/pci/k8-bus.c +++ b/arch/x86_64/pci/k8-bus.c | |||
@@ -58,10 +58,16 @@ fill_mp_bus_to_cpumask(void) | |||
58 | for (j = SECONDARY_LDT_BUS_NUMBER(ldtbus); | 58 | for (j = SECONDARY_LDT_BUS_NUMBER(ldtbus); |
59 | j <= SUBORDINATE_LDT_BUS_NUMBER(ldtbus); | 59 | j <= SUBORDINATE_LDT_BUS_NUMBER(ldtbus); |
60 | j++) { | 60 | j++) { |
61 | int node = NODE_ID(nid); | 61 | struct pci_bus *bus; |
62 | long node = NODE_ID(nid); | ||
63 | /* Algorithm a bit dumb, but | ||
64 | it shouldn't matter here */ | ||
65 | bus = pci_find_bus(0, j); | ||
66 | if (!bus) | ||
67 | continue; | ||
62 | if (!node_online(node)) | 68 | if (!node_online(node)) |
63 | node = 0; | 69 | node = 0; |
64 | pci_bus_to_node[j] = node; | 70 | bus->sysdata = (void *)node; |
65 | } | 71 | } |
66 | } | 72 | } |
67 | } | 73 | } |