diff options
Diffstat (limited to 'drivers/pci/hotplug/ibmphp_core.c')
| -rw-r--r-- | drivers/pci/hotplug/ibmphp_core.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c index a90c28d0c69..87b6b8b280e 100644 --- a/drivers/pci/hotplug/ibmphp_core.c +++ b/drivers/pci/hotplug/ibmphp_core.c @@ -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");  |