]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
POWERPC: Make sure to of_node_get() the result of pci_device_to_OF_node()
authorMichael Ellerman <michael@ellerman.id.au>
Mon, 17 Sep 2007 06:03:45 +0000 (16:03 +1000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 16 Nov 2007 16:22:57 +0000 (08:22 -0800)
patch db220b234da9f183b127b9c3077c253b94756e35 in mainline.

pci_device_to_OF_node() returns the device node attached to a PCI device,
but doesn't actually grab a reference - we need to do it ourselves.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/powerpc/platforms/cell/axon_msi.c

index 4c9ab5b70bae0e8c590021fa55d88710bc6bfa61..c767065ad808bbead059eadb5cfcf81185880808 100644 (file)
@@ -126,7 +126,7 @@ static struct axon_msic *find_msi_translator(struct pci_dev *dev)
        const phandle *ph;
        struct axon_msic *msic = NULL;
 
-       dn = pci_device_to_OF_node(dev);
+       dn = of_node_get(pci_device_to_OF_node(dev));
        if (!dn) {
                dev_dbg(&dev->dev, "axon_msi: no pci_dn found\n");
                return NULL;
@@ -183,7 +183,7 @@ static int setup_msi_msg_address(struct pci_dev *dev, struct msi_msg *msg)
        int len;
        const u32 *prop;
 
-       dn = pci_device_to_OF_node(dev);
+       dn = of_node_get(pci_device_to_OF_node(dev));
        if (!dn) {
                dev_dbg(&dev->dev, "axon_msi: no pci_dn found\n");
                return -ENODEV;