From: Julia Lawall <julia.law...@lip6.fr>

Simplify the error path to avoid calling of_node_put when it is not needed.

The semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e;
@@

-if (e)
   of_node_put(e);
// </smpl>

Signed-off-by: Julia Lawall <julia.law...@lip6.fr>

---
v2: new subject

 arch/powerpc/sysdev/ppc4xx_cpm.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/sysdev/ppc4xx_cpm.c b/arch/powerpc/sysdev/ppc4xx_cpm.c
index 82e2cfe..ba95adf 100644
--- a/arch/powerpc/sysdev/ppc4xx_cpm.c
+++ b/arch/powerpc/sysdev/ppc4xx_cpm.c
@@ -281,7 +281,7 @@ static int __init cpm_init(void)
                printk(KERN_ERR "cpm: could not parse dcr property for %s\n",
                       np->full_name);
                ret = -EINVAL;
-               goto out;
+               goto node_put;
        }

        cpm.dcr_host = dcr_map(np, dcr_base, dcr_len);
@@ -290,7 +290,7 @@ static int __init cpm_init(void)
                printk(KERN_ERR "cpm: failed to map dcr property for %s\n",
                       np->full_name);
                ret = -EINVAL;
-               goto out;
+               goto node_put;
        }

        /* All 4xx SoCs with a CPM controller have one of two
@@ -330,9 +330,9 @@ static int __init cpm_init(void)

        if (cpm.standby || cpm.suspend)
                suspend_set_ops(&cpm_suspend_ops);
+node_put:
+       of_node_put(np);
 out:
-       if (np)
-               of_node_put(np);
        return ret;
 }


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to