From: Matthew Wilcox Date: Wed, 17 Jun 2009 20:33:36 +0000 (-0400) Subject: ia64: Fix resource assignment for root busses X-Git-Tag: upstream/snapshot3+hdmi~18555 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d89b30cc9be41af87881682ec82e2c107849dbe;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Tested-by: Andrew Patterson Signed-off-by: Linus Torvalds --- diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index e643373..729298f 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -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. */ pbus = pci_scan_bus_parented(NULL, bus, &pci_root_ops, controller); - if (pbus) - pcibios_setup_root_windows(pbus, controller); return pbus; @@ -490,6 +488,8 @@ pcibios_fixup_bus (struct pci_bus *b) if (b->self) { pci_read_bridge_bases(b); pcibios_fixup_bridge_resources(b->self); + } else { + pcibios_setup_root_windows(b, b->sysdata); } list_for_each_entry(dev, &b->devices, bus_list) pcibios_fixup_device_resources(dev);