Thread (3 messages) 3 messages, 2 authors, 2013-06-06

Re: [PATCH v3, part1 03/10] PCI: Convert alloc_pci_dev(void) to pci_alloc_dev(bus) instead

From: Jiang Liu <hidden>
Date: 2013-06-06 16:16:54
Also in: linux-pci, linux-scsi, lkml, sparclinux

On Thu 06 Jun 2013 04:07:18 AM CST, Bjorn Helgaas wrote:
On Sat, May 25, 2013 at 7:48 AM, Jiang Liu [off-list ref] wrote:
quoted
From: Gu Zheng <redacted>

Use the new pci_alloc_dev(bus) to replace the existing using of
alloc_pci_dev(void).
...
quoted
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.
Hi Bjorn,
       You are right, thanks for fixing it.
Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help