summaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-05-18 03:51:13 +0200
committerBjorn Helgaas <bhelgaas@google.com>2012-06-13 23:42:25 +0200
commitbc76b7310a352be1c2ed24133e89c5df24eff05e (patch)
treecaef58e023d4705ffbad9aa8ce7230f2dbd01343 /drivers/pci/probe.c
parentPCI: register busn_res for iov bus (diff)
downloadlinux-bc76b7310a352be1c2ed24133e89c5df24eff05e.tar.xz
linux-bc76b7310a352be1c2ed24133e89c5df24eff05e.zip
PCI: insert busn_res for child bus
Now we can insert busn_res now, after all root bus's get inserted. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to '')
-rw-r--r--drivers/pci/probe.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 9f68b9d3597c..08404098080b 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -755,7 +755,7 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
if (!child)
goto out;
child->primary = primary;
- child->busn_res.end = subordinate;
+ pci_bus_insert_busn_res(child, secondary, subordinate);
child->bridge_ctl = bctl;
}
@@ -793,6 +793,7 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
child = pci_add_new_bus(bus, dev, ++max);
if (!child)
goto out;
+ pci_bus_insert_busn_res(child, max, 0xff);
}
buses = (buses & 0xff000000)
| ((unsigned int)(child->primary) << 0)
@@ -864,7 +865,7 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
/*
* Set the subordinate bus number to its real value.
*/
- child->busn_res.end = max;
+ pci_bus_update_busn_res_end(child, max);
pci_write_config_byte(dev, PCI_SUBORDINATE_BUS, max);
}