cpufreq: maple: fix possible object reference leak
authorWen Yang <wen.yang99@zte.com.cn>
Mon, 1 Apr 2019 01:37:51 +0000 (09:37 +0800)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 8 Apr 2019 10:07:06 +0000 (15:37 +0530)
The call to of_cpu_device_node_get returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.

Detected by coccinelle with the following warnings:
./drivers/cpufreq/maple-cpufreq.c:213:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 177, but without a corresponding object release within this function.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/maple-cpufreq.c

index d9df89392b8439587fad331f5a728255b7f9050a..a05f1342ec0289256addad7e8807c1e98b44bbc5 100644 (file)
@@ -210,7 +210,7 @@ static int __init maple_cpufreq_init(void)
         */
        valp = of_get_property(cpunode, "clock-frequency", NULL);
        if (!valp)
-               return -ENODEV;
+               goto bail_noprops;
        max_freq = (*valp)/1000;
        maple_cpu_freqs[0].frequency = max_freq;
        maple_cpu_freqs[1].frequency = max_freq/2;