msm: cpufreq: Improve initial frequency selection
Instead of failing init when a supported scaling frequency >=
the current CPU frequency cannot be found, also try looking for
a supported frequency <= the current CPU rate.
This prevents a crash if the CPU happens to be running faster
than the highest scaling frequency at boot.
Change-Id: I4109279055bfe72dfe35e43bb9a7bad46dd3048e
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
diff --git a/arch/arm/mach-msm/cpufreq.c b/arch/arm/mach-msm/cpufreq.c
index 649aeab..2477221 100644
--- a/arch/arm/mach-msm/cpufreq.c
+++ b/arch/arm/mach-msm/cpufreq.c
@@ -190,7 +190,9 @@
cur_freq = acpuclk_get_rate(policy->cpu);
if (cpufreq_frequency_table_target(policy, table, cur_freq,
- CPUFREQ_RELATION_H, &index)) {
+ CPUFREQ_RELATION_H, &index) &&
+ cpufreq_frequency_table_target(policy, table, cur_freq,
+ CPUFREQ_RELATION_L, &index)) {
pr_info("cpufreq: cpu%d at invalid freq: %d\n",
policy->cpu, cur_freq);
return -EINVAL;