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:
Родитель
a76117dfd6
Коммит
1d89b30cc9
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче