|
@@ -761,10 +761,13 @@ static void ibm_unconfigure_device(struct pci_func *func)
|
|
|
debug("func->device << 3 | 0x0 = %x\n", func->device << 3 | 0x0);
|
|
|
|
|
|
for (j = 0; j < 0x08; j++) {
|
|
|
- temp = pci_find_slot(func->busno, (func->device << 3) | j);
|
|
|
- if (temp)
|
|
|
+ temp = pci_get_bus_and_slot(func->busno, (func->device << 3) | j);
|
|
|
+ if (temp) {
|
|
|
pci_remove_bus_device(temp);
|
|
|
+ pci_dev_put(temp);
|
|
|
+ }
|
|
|
}
|
|
|
+ pci_dev_put(func->dev);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -823,7 +826,7 @@ static int ibm_configure_device(struct pci_func *func)
|
|
|
if (!(bus_structure_fixup(func->busno)))
|
|
|
flag = 1;
|
|
|
if (func->dev == NULL)
|
|
|
- func->dev = pci_find_slot(func->busno,
|
|
|
+ func->dev = pci_get_bus_and_slot(func->busno,
|
|
|
PCI_DEVFN(func->device, func->function));
|
|
|
|
|
|
if (func->dev == NULL) {
|
|
@@ -836,7 +839,7 @@ static int ibm_configure_device(struct pci_func *func)
|
|
|
if (num)
|
|
|
pci_bus_add_devices(bus);
|
|
|
|
|
|
- func->dev = pci_find_slot(func->busno,
|
|
|
+ func->dev = pci_get_bus_and_slot(func->busno,
|
|
|
PCI_DEVFN(func->device, func->function));
|
|
|
if (func->dev == NULL) {
|
|
|
err("ERROR... : pci_dev still NULL\n");
|