diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index d929858cfb3ec97f35cda37369a3a782269e21cd..720a861f88be283675a5b568bbf8837950e31d72 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -418,6 +418,10 @@ pcibios_fixup_bus (struct pci_bus *b)
 {
 	struct pci_dev *dev;
 
+	if (b->self) {
+		pci_read_bridge_bases(b);
+		pcibios_fixup_device_resources(b->self);
+	}
 	list_for_each_entry(dev, &b->devices, bus_list)
 		pcibios_fixup_device_resources(dev);