Messages in this thread | | | Date | Fri, 4 Dec 2009 13:27:09 -0700 | From | Alex Chiang <> | Subject | Re: [PATCH] pci: Make pci_dev struct point to NULL. |
| |
* Rakib Mullick <rakib.mullick@gmail.com>: > pci: Make pci_dev struct point to NULL. > > In function enable_device of acpiphp_glue.c, structure pci_dev > doesn't point anything. Due to the check in line 975 we might > end up being uninitialized. So make it point to NULL. > > --- > Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> > > --- linus/drivers/pci/hotplug/acpiphp_glue.c 2009-12-03 21:30:57.000000000 +0600 > +++ rakib/drivers/pci/hotplug/acpiphp_glue.c 2009-12-03 23:53:44.000000000 +0600 > @@ -964,7 +964,7 @@ static int acpiphp_bus_trim(acpi_handle > */ > static int __ref enable_device(struct acpiphp_slot *slot) > { > - struct pci_dev *dev; > + struct pci_dev *dev = NULL; > struct pci_bus *bus = slot->bridge->pci_bus; > struct list_head *l; > struct acpiphp_func *func;
This is from Linus's latest tree:
965 static int __ref enable_device(struct acpiphp_slot *slot) 966 { 967 struct pci_dev *dev; 968 struct pci_bus *bus = slot->bridge->pci_bus; 969 struct list_head *l; 970 struct acpiphp_func *func; 971 int retval = 0; 972 int num, max, pass; 973 acpi_status status; 974 975 if (slot->flags & SLOT_ENABLED) 976 goto err_exit; 977 978 /* sanity check: dev should be NULL when hot-plugged in */ 979 dev = pci_get_slot(bus, PCI_DEVFN(slot->device, 0)); 980 if (dev) {
I assume your line 975 is my line 980.
pci_get_slot() returns NULL if it doesn't find the devfn, so as far as I can tell, there's no need to initialize dev to NULL.
Were you fixing a real bug with this patch? Did you actually get the "pci_dev structure already exists.\n" error message?
Thanks, /ac
| |