[PATCH 4.16 003/196] cpufreq: armada-37xx: Fix clock leak

From: Greg Kroah-Hartman
Date: Sun Apr 22 2018 - 12:16:35 EST


4.16-stable review patch. If anyone has any objections, please let me know.

------------------

From: Gregory CLEMENT <gregory.clement@xxxxxxxxxxx>

commit bbcc328561040292f7d6796954d478e4a2335e6f upstream.

There was no clk_put() balancing the clk_get(). This commit fixes it.

Fixes: 92ce45fb875d (cpufreq: Add DVFS support for Armada 37xx)
Cc: 4.16+ <stable@xxxxxxxxxxxxxxx> # 4.16+
Reported-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxx>
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/cpufreq/armada-37xx-cpufreq.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/cpufreq/armada-37xx-cpufreq.c
+++ b/drivers/cpufreq/armada-37xx-cpufreq.c
@@ -202,6 +202,7 @@ static int __init armada37xx_cpufreq_dri
cur_frequency = clk_get_rate(clk);
if (!cur_frequency) {
dev_err(cpu_dev, "Failed to get clock rate for CPU\n");
+ clk_put(clk);
return -EINVAL;
}

@@ -210,6 +211,7 @@ static int __init armada37xx_cpufreq_dri
return -EINVAL;

armada37xx_cpufreq_dvfs_setup(nb_pm_base, clk, dvfs->divider);
+ clk_put(clk);

for (load_lvl = ARMADA_37XX_DVFS_LOAD_0; load_lvl < LOAD_LEVEL_NR;
load_lvl++) {