diff mbox

[4/4] ia64: Fix resource assignment for root busses

Message ID 1245270816-11755-5-git-send-email-willy@linux.intel.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Matthew Wilcox June 17, 2009, 8:33 p.m. UTC
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>
---
 arch/ia64/pci/pci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Comments

Linus Torvalds June 17, 2009, 8:56 p.m. UTC | #1
On Wed, 17 Jun 2009, Matthew Wilcox wrote:
>
> 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>

So I assume this "Tested-by:" means that Andrew confirmed that this 
actually fixes the nesting? I wasn't cc'd on that, so I'm just checking..

		Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matthew Wilcox June 17, 2009, 8:59 p.m. UTC | #2
On Wed, Jun 17, 2009 at 01:56:39PM -0700, Linus Torvalds wrote:
> On Wed, 17 Jun 2009, Matthew Wilcox wrote:
> >
> > 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>
> 
> So I assume this "Tested-by:" means that Andrew confirmed that this 
> actually fixes the nesting? I wasn't cc'd on that, so I'm just checking..

Yes, he says it fixes the nesting problem, and as a result hotplug now works.
Linus Torvalds June 17, 2009, 9:02 p.m. UTC | #3
On Wed, 17 Jun 2009, Matthew Wilcox wrote:

> On Wed, Jun 17, 2009 at 01:56:39PM -0700, Linus Torvalds wrote:
> > 
> > So I assume this "Tested-by:" means that Andrew confirmed that this 
> > actually fixes the nesting? I wasn't cc'd on that, so I'm just checking..
> 
> Yes, he says it fixes the nesting problem, and as a result hotplug now works.

Ok, I'll take the whole series. Thanks for chasing this down,

		Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index 61f1af5..ae5ee8a 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);