ipq806x: fix uninitialized variable usage in cpufreq-krait
authorJonas Gorski <jogo@openwrt.org>
Thu, 10 Sep 2015 10:09:42 +0000 (10:09 +0000)
committerJonas Gorski <jogo@openwrt.org>
Thu, 10 Sep 2015 10:09:42 +0000 (10:09 +0000)
In krait_cpufreq_probe, both freq and max_cpu_freq are never
initialized, so the max_cpu_freq will have a random value at the end.
Fix this by properly initializing max_cpu_freq to 0 and storing the clk
frequency in freq as well, to make it similar to how it's calculated in
krait_set_target.

Fixes the following warnings:

In file included from include/linux/clk.h:16:0,
                 from drivers/cpufreq/cpufreq-krait.c:13:
drivers/cpufreq/cpufreq-krait.c: In function 'krait_cpufreq_probe':
include/linux/kernel.h:714:24: warning: 'freq' may be used uninitialized in this function [-Wmaybe-uninitialized]
  _max1 > _max2 ? _max1 : _max2; })
                        ^
drivers/cpufreq/cpufreq-krait.c:217:25: note: 'freq' was declared here
  unsigned long freq_Hz, freq, max_cpu_freq;
                         ^
In file included from include/linux/clk.h:16:0,
                 from drivers/cpufreq/cpufreq-krait.c:13:
include/linux/kernel.h:714:24: warning: 'max_cpu_freq' may be used uninitialized in this function [-Wmaybe-uninitialized]
  _max1 > _max2 ? _max1 : _max2; })
                        ^
drivers/cpufreq/cpufreq-krait.c:217:31: note: 'max_cpu_freq' was declared here
  unsigned long freq_Hz, freq, max_cpu_freq;

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46839

target/linux/ipq806x/patches-3.18/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
target/linux/ipq806x/patches-4.1/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch

index 15cabf3eb92ca2e6358fa57b03420a9920014c25..6052b417ac7af6570b03c20663c4f09a9b91ee4e 100644 (file)
@@ -270,7 +270,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
 +      struct device *dev;
 +      struct clk *clk;
 +      struct regulator *core;
-+      unsigned long freq_Hz, freq, max_cpu_freq;
++      unsigned long freq_Hz, freq, max_cpu_freq = 0;
 +      struct dev_pm_opp *opp;
 +      unsigned long volt, tol;
 +
@@ -341,7 +341,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
 +              }
 +              per_cpu(krait_supply_core, cpu) = core;
 +
-+              freq_Hz = clk_get_rate(clk);
++              freq = freq_Hz = clk_get_rate(clk);
 +
 +              rcu_read_lock();
 +              opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_Hz);
index 521adc5c1ef7fd44f046c445d327d60882a7b5b6..84f856bbf680e188ad600e08897a304252f45d8f 100644 (file)
@@ -270,7 +270,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
 +      struct device *dev;
 +      struct clk *clk;
 +      struct regulator *core;
-+      unsigned long freq_Hz, freq, max_cpu_freq;
++      unsigned long freq_Hz, freq, max_cpu_freq = 0;
 +      struct dev_pm_opp *opp;
 +      unsigned long volt, tol;
 +
@@ -341,7 +341,7 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
 +              }
 +              per_cpu(krait_supply_core, cpu) = core;
 +
-+              freq_Hz = clk_get_rate(clk);
++              freq = freq_Hz = clk_get_rate(clk);
 +
 +              rcu_read_lock();
 +              opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_Hz);