Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 88357
b: refs/heads/master
c: b87e81e
h: refs/heads/master
i:
  88355: bfdf058
v: v3
  • Loading branch information
yakui.zhao@intel.com authored and Linus Torvalds committed Apr 16, 2008
1 parent 89010e1 commit e5e6647
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5f1a3f2ac4ddf966cd0555dc445c6df65709c580
refs/heads/master: b87e81e5c6e64ae0eae3b4f61bf07bfeec856184
7 changes: 6 additions & 1 deletion trunk/arch/ia64/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,12 @@ pci_acpi_scan_root(struct acpi_device *device, int domain, int bus)
info.name = name;
acpi_walk_resources(device->handle, METHOD_NAME__CRS, add_window,
&info);

/*
* See arch/x86/pci/acpi.c.
* The desired pci bus might already be scanned in a quirk. We
* should handle the case here, but it appears that IA64 hasn't
* such quirk. So we just ignore the case now.
*/
pbus = pci_scan_bus_parented(NULL, bus, &pci_root_ops, controller);
if (pbus)
pcibios_setup_root_windows(pbus, controller);
Expand Down
17 changes: 15 additions & 2 deletions trunk/arch/x86/pci/acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,16 +219,29 @@ struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_device *device, int do
if (pxm >= 0)
sd->node = pxm_to_node(pxm);
#endif
/*
* Maybe the desired pci bus has been already scanned. In such case
* it is unnecessary to scan the pci bus with the given domain,busnum.
*/
bus = pci_find_bus(domain, busnum);
if (bus) {
/*
* If the desired bus exits, the content of bus->sysdata will
* be replaced by sd.
*/
memcpy(bus->sysdata, sd, sizeof(*sd));
kfree(sd);
} else
bus = pci_scan_bus_parented(NULL, busnum, &pci_root_ops, sd);

bus = pci_scan_bus_parented(NULL, busnum, &pci_root_ops, sd);
if (!bus)
kfree(sd);

#ifdef CONFIG_ACPI_NUMA
if (bus != NULL) {
if (pxm >= 0) {
printk("bus %d -> pxm %d -> node %d\n",
busnum, pxm, sd->node);
busnum, pxm, pxm_to_node(pxm));
}
}
#endif
Expand Down

0 comments on commit e5e6647

Please sign in to comment.