Re: [PATCH] PCI hotplug : Switch to pci_get_bus_and_slot instead of deprecated pci_find_slot.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you so much for your check & advise.
This time, I've tried on ibmphp_core.c, is it OK?

Signed-off-by: Joonwoo Park <[email protected]>
---
 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 0316eea..2085023 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");
---

Thanks.
Joonwoo Park

> On Mon, Oct 01, 2007 at 12:09:07PM +0900, JoonwooPark wrote:
> > This patch fixes these warnings:
> >
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_configure_device???:
> > drivers/pci/hotplug/cpqphp_pci.c:92: warning: ???pci_find_slot??? is
> deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c:102: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_unconfigure_device???:
> > drivers/pci/hotplug/cpqphp_pci.c:126: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> > drivers/pci/hotplug/cpqphp_pci.c: In
> function ???cpqhp_save_config???:
> > drivers/pci/hotplug/cpqphp_pci.c:420: warning: ???pci_find_slot???
> is deprecated (declared at include/linux/pci.h:481)
> >
> > Signed-off-by: Joonwoo Park <[email protected]>
> 
> 
> Close, but you need to free the reference that you now have grabed.
>  As
> is, this patch will cause a memory leak and cause bad things to happen
> :(
> 
> Take a look at the documentation for the pci_get_bus_and_slot()
> function, it's not as easy as a simple search-and-replace.
> 
> thanks,
> 
> greg k-h
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux