[PATCH] PCI: really fix parent's subordinate busnr
authorKristen Accardi <kristen.c.accardi@intel.com>
Wed, 18 Jan 2006 00:57:01 +0000 (16:57 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Mar 2006 22:35:10 +0000 (14:35 -0800)
After you find the maximum value of the subordinate buses below the child
bus, you must fix the parent's subordinate bus number again, otherwise
it may be too small.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/probe.c

index adfad4fd6a13d66297546c917c8833f65b13a256..63751a28381746a7fe730c3a63ce867dc56ac8cf 100644 (file)
@@ -537,6 +537,11 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max
                        pci_fixup_parent_subordinate_busnr(child, max);
                        /* Now we can scan all subordinate buses... */
                        max = pci_scan_child_bus(child);
+                       /*
+                        * now fix it up again since we have found
+                        * the real value of max.
+                        */
+                       pci_fixup_parent_subordinate_busnr(child, max);
                } else {
                        /*
                         * For CardBus bridges, we leave 4 bus numbers