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.