PCI: insert busn_res for child bus
authorYinghai Lu <yinghai@kernel.org>
Fri, 18 May 2012 01:51:13 +0000 (18:51 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 13 Jun 2012 21:42:25 +0000 (15:42 -0600)
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>
drivers/pci/probe.c

index 9f68b9d..0840409 100644 (file)
@@ -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);
        }