diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/parisc/dino.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c index bcd5d54b7d4d..90252c016a08 100644 --- a/drivers/parisc/dino.c +++ b/drivers/parisc/dino.c | |||
@@ -1007,22 +1007,24 @@ static int __init dino_probe(struct parisc_device *dev) | |||
1007 | ** It's not used to avoid chicken/egg problems | 1007 | ** It's not used to avoid chicken/egg problems |
1008 | ** with configuration accessor functions. | 1008 | ** with configuration accessor functions. |
1009 | */ | 1009 | */ |
1010 | dino_dev->hba.hba_bus = bus = pci_scan_bus_parented(&dev->dev, | 1010 | dino_dev->hba.hba_bus = bus = pci_create_bus(&dev->dev, |
1011 | dino_current_bus, &dino_cfg_ops, NULL); | 1011 | dino_current_bus, &dino_cfg_ops, NULL); |
1012 | 1012 | if (!bus) { | |
1013 | if(bus) { | ||
1014 | /* This code *depends* on scanning being single threaded | ||
1015 | * if it isn't, this global bus number count will fail | ||
1016 | */ | ||
1017 | dino_current_bus = bus->subordinate + 1; | ||
1018 | pci_bus_assign_resources(bus); | ||
1019 | pci_bus_add_devices(bus); | ||
1020 | } else { | ||
1021 | printk(KERN_ERR "ERROR: failed to scan PCI bus on %s (duplicate bus number %d?)\n", | 1013 | printk(KERN_ERR "ERROR: failed to scan PCI bus on %s (duplicate bus number %d?)\n", |
1022 | dev_name(&dev->dev), dino_current_bus); | 1014 | dev_name(&dev->dev), dino_current_bus); |
1023 | /* increment the bus number in case of duplicates */ | 1015 | /* increment the bus number in case of duplicates */ |
1024 | dino_current_bus++; | 1016 | dino_current_bus++; |
1017 | return 0; | ||
1025 | } | 1018 | } |
1019 | |||
1020 | bus->subordinate = pci_scan_child_bus(bus); | ||
1021 | |||
1022 | /* This code *depends* on scanning being single threaded | ||
1023 | * if it isn't, this global bus number count will fail | ||
1024 | */ | ||
1025 | dino_current_bus = bus->subordinate + 1; | ||
1026 | pci_bus_assign_resources(bus); | ||
1027 | pci_bus_add_devices(bus); | ||
1026 | return 0; | 1028 | return 0; |
1027 | } | 1029 | } |
1028 | 1030 | ||