aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/cpufreq_conservative.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c
index f62d822048e6..218460fcd2e4 100644
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@ -80,13 +80,18 @@ static void cs_check_cpu(int cpu, unsigned int load)
80 80
81 /* Check for frequency decrease */ 81 /* Check for frequency decrease */
82 if (load < cs_tuners->down_threshold) { 82 if (load < cs_tuners->down_threshold) {
83 unsigned int freq_target;
83 /* 84 /*
84 * if we cannot reduce the frequency anymore, break out early 85 * if we cannot reduce the frequency anymore, break out early
85 */ 86 */
86 if (policy->cur == policy->min) 87 if (policy->cur == policy->min)
87 return; 88 return;
88 89
89 dbs_info->requested_freq -= get_freq_target(cs_tuners, policy); 90 freq_target = get_freq_target(cs_tuners, policy);
91 if (dbs_info->requested_freq > freq_target)
92 dbs_info->requested_freq -= freq_target;
93 else
94 dbs_info->requested_freq = policy->min;
90 95
91 __cpufreq_driver_target(policy, dbs_info->requested_freq, 96 __cpufreq_driver_target(policy, dbs_info->requested_freq,
92 CPUFREQ_RELATION_L); 97 CPUFREQ_RELATION_L);