diff options
| -rw-r--r-- | drivers/cpufreq/s3c64xx-cpufreq.c | 8 |
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 | ||
| 120 | post_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) { |
