On Sat, May 25, 2013 at 7:48 AM, Jiang Liu <liuj97@xxxxxxxxx> wrote: > From: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> > > Use the new pci_alloc_dev(bus) to replace the existing using of > alloc_pci_dev(void). > ... > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 26df9c8..d5d18a0 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -1130,6 +1130,7 @@ static void pci_release_dev(struct device *dev) > struct pci_dev *pci_dev; > > pci_dev = to_pci_dev(dev); > + pci_bus_put(pci_dev->bus); > pci_release_capabilities(pci_dev); > pci_release_of_node(pci_dev); > kfree(pci_dev); I think we should drop the pci_bus reference *last* (before the kfree). Otherwise, we have to audit pci_release_capabilities() and pci_release_of_node() to make sure they don't use pci_dev->bus. I made this change on my branch already; just let me know if you object. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html