ARM: OMAP3: Use common error handling code in omap3xxx_hwmod_init()
authorMarkus Elfring <elfring@users.sourceforge.net>
Fri, 20 Oct 2017 14:30:23 +0000 (16:30 +0200)
committerTony Lindgren <tony@atomide.com>
Wed, 25 Oct 2017 16:54:02 +0000 (09:54 -0700)
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c

index c327643..bb6eb1e 100644 (file)
@@ -3208,18 +3208,14 @@ int __init omap3xxx_hwmod_init(void)
 
        if (h_sham && omap3xxx_hwmod_is_hs_ip_block_usable(bus, "sham")) {
                r = omap_hwmod_register_links(h_sham);
-               if (r < 0) {
-                       of_node_put(bus);
-                       return r;
-               }
+               if (r < 0)
+                       goto put_node;
        }
 
        if (h_aes && omap3xxx_hwmod_is_hs_ip_block_usable(bus, "aes")) {
                r = omap_hwmod_register_links(h_aes);
-               if (r < 0) {
-                       of_node_put(bus);
-                       return r;
-               }
+               if (r < 0)
+                       goto put_node;
        }
        of_node_put(bus);
 
@@ -3270,4 +3266,8 @@ int __init omap3xxx_hwmod_init(void)
        r = omap_hwmod_register_links(omap3xxx_dss_hwmod_ocp_ifs);
 
        return r;
+
+put_node:
+       of_node_put(bus);
+       return r;
 }