|
@@ -738,7 +738,7 @@ static void ibm_unconfigure_device(struct pci_func *func)
|
|
|
*/
|
|
|
static u8 bus_structure_fixup(u8 busno)
|
|
|
{
|
|
|
- struct pci_bus *bus;
|
|
|
+ struct pci_bus *bus, *b;
|
|
|
struct pci_dev *dev;
|
|
|
u16 l;
|
|
|
|
|
@@ -765,7 +765,11 @@ static u8 bus_structure_fixup(u8 busno)
|
|
|
(l != 0x0000) && (l != 0xffff)) {
|
|
|
debug("%s - Inside bus_structure_fixup()\n",
|
|
|
__func__);
|
|
|
- pci_scan_bus(busno, ibmphp_pci_bus->ops, NULL);
|
|
|
+ b = pci_scan_bus(busno, ibmphp_pci_bus->ops, NULL);
|
|
|
+ if (!b)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ pci_bus_add_devices(b);
|
|
|
break;
|
|
|
}
|
|
|
}
|