lkml.org 
[lkml]   [2009]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2009-12-04 21:29    [W:0.077 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site