aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-06-19 01:48:20 -0400
committerViresh Kumar <viresh.kumar@linaro.org>2013-06-24 08:49:01 -0400
commitf56cc99e3f189ce214408e9c0fdda9e664d83dc1 (patch)
tree6afc2ec3bb966a2a9d5888382229c4f2d1117a82 /drivers/cpufreq
parent6cdc9ef32c62d3863c922300b00ef29718f06593 (diff)
cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases
PRECHANGE and POSTCHANGE notifiers must be called in groups, i.e either both should be called or both shouldn't be. In case we have started PRECHANGE notifier and found an error, we must call POSTCHANGE notifier with freqs.new = freqs.old to guarantee that sequence of calling notifiers is complete. This patch fixes it. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/tegra-cpufreq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpufreq/tegra-cpufreq.c b/drivers/cpufreq/tegra-cpufreq.c
index c74c0e130ef4..e74d7774cf1e 100644
--- a/drivers/cpufreq/tegra-cpufreq.c
+++ b/drivers/cpufreq/tegra-cpufreq.c
@@ -138,12 +138,12 @@ static int tegra_update_cpu_speed(struct cpufreq_policy *policy,
138 if (ret) { 138 if (ret) {
139 pr_err("cpu-tegra: Failed to set cpu frequency to %d kHz\n", 139 pr_err("cpu-tegra: Failed to set cpu frequency to %d kHz\n",
140 freqs.new); 140 freqs.new);
141 return ret; 141 freqs.new = freqs.old;
142 } 142 }
143 143
144 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 144 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
145 145
146 return 0; 146 return ret;
147} 147}
148 148
149static unsigned long tegra_cpu_highest_speed(void) 149static unsigned long tegra_cpu_highest_speed(void)