diff options
author | Yinghai Lu <yinghai@kernel.org> | 2012-05-18 05:51:13 +0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-06-14 01:42:25 +0400 |
commit | bc76b7310a352be1c2ed24133e89c5df24eff05e (patch) | |
tree | caef58e023d4705ffbad9aa8ce7230f2dbd01343 /drivers/pci/probe.c | |
parent | b7eac055c0a8f6026393a83cdf9699e9052eae25 (diff) | |
download | linux-bc76b7310a352be1c2ed24133e89c5df24eff05e.tar.xz |
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 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 5 |
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); } |