Re: [Pcihpd-discuss] [patch 2/4] acpiphp: handle dock bridges

Kenji Kaneshige
2006-01-18T02:28:32Z

Hi,

> +static struct acpiphp_func * get_func(struct acpiphp_slot *slot,
> + struct pci_dev *dev)
> +{
> + struct list_head *l;
> + struct acpiphp_func *func;
> + struct pci_bus *bus = slot->bridge->pci_bus;
> +
> + list_for_each (l, &slot->funcs) {
> + func = list_entry(l, struct acpiphp_func, sibling);
> + if (pci_get_slot(bus, PCI_DEVFN(slot->device,
> + func->function)) == dev)
> + return func;
> + }

This seems to leak reference counter of pci_dev. I think you
must call pci_dev_put() also.

Thanks,
Kenji Kaneshige