diff options
author | Tomasz Maciej Nowak <tomek_n@o2.pl> | 2018-06-09 16:13:40 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-06-18 07:10:20 +0200 |
commit | 4ec8c8c23ed50dbe9cabbfc544ae2780f0287fd0 (patch) | |
tree | 347c2019c5361d92e9381354954c9eb41710c04d | |
parent | 9a26a9e8b9624d59e9d19b386d2365bb713e28b0 (diff) | |
download | upstream-4ec8c8c23ed50dbe9cabbfc544ae2780f0287fd0.tar.gz upstream-4ec8c8c23ed50dbe9cabbfc544ae2780f0287fd0.tar.bz2 upstream-4ec8c8c23ed50dbe9cabbfc544ae2780f0287fd0.zip |
mvebu: add fix for armada 37xx cpufreq driver
Backport from stable kernel tree fixing clock leak.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
-rw-r--r-- | target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch b/target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch new file mode 100644 index 0000000000..7479c6db21 --- /dev/null +++ b/target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch @@ -0,0 +1,35 @@ +From bbcc328561040292f7d6796954d478e4a2335e6f Mon Sep 17 00:00:00 2001 +From: Gregory CLEMENT <gregory.clement@bootlin.com> +Date: Wed, 4 Apr 2018 16:44:44 +0200 +Subject: [PATCH] cpufreq: armada-37xx: Fix clock leak + +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@vger.kernel.org> # 4.16+ +Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> +Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com> +Acked-by: Viresh Kumar <viresh.kumar@linaro.org> +Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> +--- + 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++) { |