diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index 0e415e5fb53be0f4e0b05d8ac332034f3644b059..0d40eb7b1deea00f48f5c25a2ae7dcb5022823d4 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -87,6 +87,9 @@ static int exynos_target(struct cpufreq_policy *policy, freqs.new = freq_table[index].frequency; freqs.cpu = policy->cpu; + if (freqs.new == freqs.old) + goto out; + /* * ARM clock source will be changed APLL to MPLL temporary * To support this level, need to control regulator for @@ -113,8 +116,8 @@ static int exynos_target(struct cpufreq_policy *policy, if (safe_arm_volt) regulator_set_voltage(arm_regulator, safe_arm_volt, safe_arm_volt); - if (freqs.new != freqs.old) - exynos_info->set_freq(old_index, index); + + exynos_info->set_freq(old_index, index); for_each_cpu(freqs.cpu, policy->cpus) cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);