Author: jogo
Date: 2015-09-10 12:09:42 +0200 (Thu, 10 Sep 2015)
New Revision: 46839
Modified:
trunk/target/linux/ipq806x/patches-3.18/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
trunk/target/linux/ipq806x/patches-4.1/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
Log:
ipq806x: fix uninitialized variable usage in cpufreq-krait
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 <[email protected]>
Modified:
trunk/target/linux/ipq806x/patches-3.18/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
===================================================================
---
trunk/target/linux/ipq806x/patches-3.18/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
2015-09-10 10:09:36 UTC (rev 46838)
+++
trunk/target/linux/ipq806x/patches-3.18/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
2015-09-10 10:09:42 UTC (rev 46839)
@@ -270,7 +270,7 @@
+ 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 @@
+ }
+ 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);
Modified:
trunk/target/linux/ipq806x/patches-4.1/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
===================================================================
---
trunk/target/linux/ipq806x/patches-4.1/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
2015-09-10 10:09:36 UTC (rev 46838)
+++
trunk/target/linux/ipq806x/patches-4.1/145-cpufreq-Add-a-cpufreq-krait-based-on-cpufre.patch
2015-09-10 10:09:42 UTC (rev 46839)
@@ -270,7 +270,7 @@
+ 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 @@
+ }
+ 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);
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits