|
@@ -113,7 +113,8 @@ static int exynos_cpufreq_scale(unsigned int target_freq)
|
|
|
if (ret) {
|
|
|
pr_err("%s: failed to set cpu voltage to %d\n",
|
|
|
__func__, arm_volt);
|
|
|
- goto out;
|
|
|
+ freqs.new = freqs.old;
|
|
|
+ goto post_notify;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -123,14 +124,19 @@ static int exynos_cpufreq_scale(unsigned int target_freq)
|
|
|
if (ret) {
|
|
|
pr_err("%s: failed to set cpu voltage to %d\n",
|
|
|
__func__, safe_arm_volt);
|
|
|
- goto out;
|
|
|
+ freqs.new = freqs.old;
|
|
|
+ goto post_notify;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
exynos_info->set_freq(old_index, index);
|
|
|
|
|
|
+post_notify:
|
|
|
cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
|
|
|
|
|
|
+ if (ret)
|
|
|
+ goto out;
|
|
|
+
|
|
|
/* When the new frequency is lower than current frequency */
|
|
|
if ((freqs.new < freqs.old) ||
|
|
|
((freqs.new > freqs.old) && safe_arm_volt)) {
|