aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/cpufreq/s3c64xx-cpufreq.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/cpufreq/s3c64xx-cpufreq.c b/drivers/cpufreq/s3c64xx-cpufreq.c
index 27cacb524796..017ade0af36b 100644
--- a/drivers/cpufreq/s3c64xx-cpufreq.c
+++ b/drivers/cpufreq/s3c64xx-cpufreq.c
@@ -104,7 +104,8 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy,
104 if (ret != 0) { 104 if (ret != 0) {
105 pr_err("Failed to set VDDARM for %dkHz: %d\n", 105 pr_err("Failed to set VDDARM for %dkHz: %d\n",
106 freqs.new, ret); 106 freqs.new, ret);
107 goto err; 107 freqs.new = freqs.old;
108 goto post_notify;
108 } 109 }
109 } 110 }
110#endif 111#endif
@@ -113,10 +114,13 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy,
113 if (ret < 0) { 114 if (ret < 0) {
114 pr_err("Failed to set rate %dkHz: %d\n", 115 pr_err("Failed to set rate %dkHz: %d\n",
115 freqs.new, ret); 116 freqs.new, ret);
116 goto err; 117 freqs.new = freqs.old;
117 } 118 }
118 119
120post_notify:
119 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 121 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
122 if (ret)
123 goto err;
120 124
121#ifdef CONFIG_REGULATOR 125#ifdef CONFIG_REGULATOR
122 if (vddarm && freqs.new < freqs.old) { 126 if (vddarm && freqs.new < freqs.old) {