@@ -7,18 +7,8 @@
int __ref pci_hp_add_bridge(struct pci_dev *dev)
{
struct pci_bus *parent = dev->bus;
- int pass, busnr, start = parent->busn_res.start;
- int end = parent->busn_res.end;
+ int pass, busnr = parent->busn_res.start;
- for (busnr = start; busnr <= end; busnr++) {
- if (!pci_find_bus(pci_domain_nr(parent), busnr))
- break;
- }
- if (busnr-- > end) {
- printk(KERN_ERR "No bus number available for hot-added bridge %s\n",
- pci_name(dev));
- return -1;
- }
for (pass = 0; pass < 2; pass++)
busnr = pci_scan_bridge(parent, dev, busnr, pass);
if (!dev->subordinate)
Found hotplug adding one EM with bridge fail, bios only leave one bus range for slot. [ 1169.621444] pciehp: No bus number available for hot-added bridge 0000:55:00.0 [ 1169.633277] pcieport 0000:40:03.0: PCI bridge to [bus 55-55] With busn_res tracking and allocating, we don't need that checking anymore. Parent bridges' bus number will be extended safely. Signed-off-by: Yinghai Lu <yinghai@kernel.org> --- drivers/pci/hotplug-pci.c | 12 +----------- 1 files changed, 1 insertions(+), 11 deletions(-)