Commit 1d89b30c authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds

ia64: Fix resource assignment for root busses

ia64 was assigning resources to root busses after allocations had
been made for child busses.  Calling pcibios_setup_root_windows() from
pcibios_fixup_bus() solves this problem by assigning the resources to
the root bus before child busses are scanned.
Signed-off-by: default avatarMatthew Wilcox <willy@linux.intel.com>
Tested-by: default avatarAndrew Patterson <andrew.patterson@hp.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a76117df
...@@ -371,8 +371,6 @@ pci_acpi_scan_root(struct acpi_device *device, int domain, int bus) ...@@ -371,8 +371,6 @@ pci_acpi_scan_root(struct acpi_device *device, int domain, int bus)
* such quirk. So we just ignore the case now. * such quirk. So we just ignore the case now.
*/ */
pbus = pci_scan_bus_parented(NULL, bus, &pci_root_ops, controller); pbus = pci_scan_bus_parented(NULL, bus, &pci_root_ops, controller);
if (pbus)
pcibios_setup_root_windows(pbus, controller);
return pbus; return pbus;
...@@ -490,6 +488,8 @@ pcibios_fixup_bus (struct pci_bus *b) ...@@ -490,6 +488,8 @@ pcibios_fixup_bus (struct pci_bus *b)
if (b->self) { if (b->self) {
pci_read_bridge_bases(b); pci_read_bridge_bases(b);
pcibios_fixup_bridge_resources(b->self); pcibios_fixup_bridge_resources(b->self);
} else {
pcibios_setup_root_windows(b, b->sysdata);
} }
list_for_each_entry(dev, &b->devices, bus_list) list_for_each_entry(dev, &b->devices, bus_list)
pcibios_fixup_device_resources(dev); pcibios_fixup_device_resources(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment