summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorKristen Accardi <kristen.c.accardi@intel.com>2006-01-18 01:57:01 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-23 23:35:10 +0100
commite3ac86d8b3f5cee1afaa3e9e6984d0321149b948 (patch)
tree6bb42129178c2bcaf2afb56484c7d3940b6be924 /drivers/pci
parent[PATCH] PCI: return max reserved busnr (diff)
downloadlinux-e3ac86d8b3f5cee1afaa3e9e6984d0321149b948.tar.xz
linux-e3ac86d8b3f5cee1afaa3e9e6984d0321149b948.zip
[PATCH] PCI: really fix parent's subordinate busnr
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>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/probe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index adfad4fd6a13..63751a283817 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -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