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>
This commit is contained in:
Yinghai Lu
2012-05-17 18:51:13 -07:00
committed by Bjorn Helgaas
parent b7eac055c0
commit bc76b7310a

View File

@ -755,7 +755,7 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
if (!child) if (!child)
goto out; goto out;
child->primary = primary; child->primary = primary;
child->busn_res.end = subordinate; pci_bus_insert_busn_res(child, secondary, subordinate);
child->bridge_ctl = bctl; 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); child = pci_add_new_bus(bus, dev, ++max);
if (!child) if (!child)
goto out; goto out;
pci_bus_insert_busn_res(child, max, 0xff);
} }
buses = (buses & 0xff000000) buses = (buses & 0xff000000)
| ((unsigned int)(child->primary) << 0) | ((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. * 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); pci_write_config_byte(dev, PCI_SUBORDINATE_BUS, max);
} }