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: Bjorn Helgaas <bhelgaas@google.com>
Date: 2013-06-05 20:07:42
Also in: linux-pci, linux-scsi, lkml, sparclinux

On Sat, May 25, 2013 at 7:48 AM, Jiang Liu [off-list ref] wrote:
From: Gu Zheng <redacted>

Use the new pci_alloc_dev(bus) to replace the existing using of
alloc_pci_dev(void).
...
quoted hunk ↗ jump to hunk
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help