509-cpufreq-armada-37xx-Fix-clock-leak.patch 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. From bbcc328561040292f7d6796954d478e4a2335e6f Mon Sep 17 00:00:00 2001
  2. From: Gregory CLEMENT <gregory.clement@bootlin.com>
  3. Date: Wed, 4 Apr 2018 16:44:44 +0200
  4. Subject: [PATCH] cpufreq: armada-37xx: Fix clock leak
  5. There was no clk_put() balancing the clk_get(). This commit fixes it.
  6. Fixes: 92ce45fb875d (cpufreq: Add DVFS support for Armada 37xx)
  7. Cc: 4.16+ <stable@vger.kernel.org> # 4.16+
  8. Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  9. Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
  10. Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
  11. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  12. ---
  13. drivers/cpufreq/armada-37xx-cpufreq.c | 2 ++
  14. 1 file changed, 2 insertions(+)
  15. --- a/drivers/cpufreq/armada-37xx-cpufreq.c
  16. +++ b/drivers/cpufreq/armada-37xx-cpufreq.c
  17. @@ -202,6 +202,7 @@ static int __init armada37xx_cpufreq_dri
  18. cur_frequency = clk_get_rate(clk);
  19. if (!cur_frequency) {
  20. dev_err(cpu_dev, "Failed to get clock rate for CPU\n");
  21. + clk_put(clk);
  22. return -EINVAL;
  23. }
  24. @@ -210,6 +211,7 @@ static int __init armada37xx_cpufreq_dri
  25. return -EINVAL;
  26. armada37xx_cpufreq_dvfs_setup(nb_pm_base, clk, dvfs->divider);
  27. + clk_put(clk);
  28. for (load_lvl = ARMADA_37XX_DVFS_LOAD_0; load_lvl < LOAD_LEVEL_NR;
  29. load_lvl++) {