diff options
Diffstat (limited to 'drivers/pci/hotplug/sgi_hotplug.c')
-rw-r--r-- | drivers/pci/hotplug/sgi_hotplug.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c index b0bb3b537bb0..f64ca92253da 100644 --- a/drivers/pci/hotplug/sgi_hotplug.c +++ b/drivers/pci/hotplug/sgi_hotplug.c | |||
@@ -397,15 +397,11 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot) | |||
397 | else | 397 | else |
398 | sn_io_slot_fixup(dev); | 398 | sn_io_slot_fixup(dev); |
399 | if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { | 399 | if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { |
400 | unsigned char sec_bus; | 400 | pci_hp_add_bridge(dev); |
401 | int max; | 401 | if (dev->subordinate) { |
402 | pci_read_config_byte(dev, PCI_SECONDARY_BUS, | 402 | new_bus = dev->subordinate; |
403 | &sec_bus); | 403 | new_ppb = 1; |
404 | new_bus = pci_add_new_bus(dev->bus, dev, | 404 | } |
405 | sec_bus); | ||
406 | max = pci_scan_child_bus(new_bus); | ||
407 | pci_bus_update_busn_res_end(new_bus, max); | ||
408 | new_ppb = 1; | ||
409 | } | 405 | } |
410 | pci_dev_put(dev); | 406 | pci_dev_put(dev); |
411 | } | 407 | } |