[POWERPC] Avoid possible extra of_node_put in axon_msi.c
authorStephen Rothwell <sfr@canb.auug.org.au>
Tue, 5 Feb 2008 02:13:15 +0000 (13:13 +1100)
committerPaul Mackerras <paulus@samba.org>
Wed, 6 Feb 2008 05:30:00 +0000 (16:30 +1100)
I got this warning from gcc:
arch/powerpc/platforms/cell/axon_msi.c:118: warning: 'tmp' may be used uninitialized in this function

Which turns out to be a false positive, but pointed out that it was
possible for the error path in find_msi_translator() to do an extra
of_node_put on a node.  This fixes it by localising the ref counting
a bit.  As a side effect, the warning goes away.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/axon_msi.c

index b9a97c4ae15a588ab3d499cc52533a769430c169..d95e71dee91f85f000a1662c200f2075b6bec95f 100644 (file)
@@ -137,6 +137,7 @@ static struct axon_msic *find_msi_translator(struct pci_dev *dev)
 
        tmp = dn;
        dn = of_find_node_by_phandle(*ph);
+       of_node_put(tmp);
        if (!dn) {
                dev_dbg(&dev->dev,
                        "axon_msi: msi-translator doesn't point to a node\n");
@@ -154,7 +155,6 @@ static struct axon_msic *find_msi_translator(struct pci_dev *dev)
 
 out_error:
        of_node_put(dn);
-       of_node_put(tmp);
 
        return msic;
 }