diff mbox

[v1,4/7] PCI: read bridge windows before filling in subtractive decode resources

Message ID 20100203233916.10803.19478.stgit@bob.kio (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Bjorn Helgaas Feb. 3, 2010, 11:39 p.m. UTC
None
diff mbox

Patch

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 1d498cd..fbff005 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -391,14 +391,19 @@  void __devinit pci_read_bridge_bases(struct pci_bus *child)
 		 child->secondary, child->subordinate,
 		 dev->transparent ? " (subtractive decode)": "");
 
-	if (dev->transparent) {
-		for(i = 3; i < PCI_BUS_NUM_RESOURCES; i++)
-			child->resource[i] = child->parent->resource[i - 3];
-	}
-
 	pci_read_bridge_io(child);
 	pci_read_bridge_mmio(child);
 	pci_read_bridge_mmio_pref(child);
+
+	if (dev->transparent) {
+		for (i = 3; i < PCI_BUS_NUM_RESOURCES; i++) {
+			child->resource[i] = child->parent->resource[i - 3];
+			if (child->resource[i])
+				dev_printk(KERN_DEBUG, &dev->dev,
+					   "  bridge window %pR (subtractive decode)\n",
+					   child->resource[i]);
+		}
+	}
 }
 
 static struct pci_bus * pci_alloc_bus(void)