ARM: shmobile: fix a leaked reference by adding missing of_node_put
authorWen Yang <wen.yang99@zte.com.cn>
Fri, 1 Mar 2019 08:56:49 +0000 (16:56 +0800)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 18 Mar 2019 09:32:36 +0000 (10:32 +0100)
The call to of_get_next_child returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.

Detected by coccinelle with the following warnings:
./arch/arm/mach-shmobile/pm-rcar-gen2.c:77:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 66, but without a corresponding object release within this function.
./arch/arm/mach-shmobile/pm-rcar-gen2.c:85:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 66, but without a corresponding object release within this function.
./arch/arm/mach-shmobile/pm-rcar-gen2.c:90:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 66, but without a corresponding object release within this function.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/pm-rcar-gen2.c

index 8c2a205..e84599d 100644 (file)
@@ -72,6 +72,7 @@ void __init rcar_gen2_pm_init(void)
        }
 
        error = of_address_to_resource(np, 0, &res);
+       of_node_put(np);
        if (error) {
                pr_err("Failed to get smp-sram address: %d\n", error);
                return;