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: Matthew Wilcox <willy@linux.intel.com>
Tested-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Matthew Wilcox 2009-06-17 16:33:36 -04:00 коммит произвёл Linus Torvalds
Родитель a76117dfd6
Коммит 1d89b30cc9
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -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)
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);