[PATCH v2, part 1 3/9] PCI: Convert alloc_pci_dev(void) to pci_alloc_dev(bus) instead
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu May 16 07:32:37 EST 2013
On Wed, 2013-05-15 at 07:58 -0700, Yinghai Lu wrote:
> Ben,
>
> in drivers/pci/probe.c::pci_scan_device() there is
>
> pci_set_of_node(dev);
>
> if (pci_setup_device(dev)) {
> kfree(dev);
> return NULL;
> }
>
> so if pci_setup_device fails, there is one dev reference is not release.
>
> please check you can just move down pci_set_of_node down after that
> failing path, like
>
>
> if (pci_setup_device(dev)) {
> kfree(dev);
> return NULL;
> }
>
> pci_set_of_node(dev);
No, we want the OF node set when we run the quirks, we intentionally do
that early, the right thing to do is to to call pci_release_of_node()
in the error path (it's safe to call even if the node is NULL).
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list