Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / cpufreq / cpufreq_conservative.c
index f20f20a77d4d37cad47eea9673552478dd1ccf32..4268f87e99fcfb68c60368cfdc13f5033488cfad 100644 (file)
@@ -80,8 +80,10 @@ static unsigned int cs_dbs_update(struct cpufreq_policy *policy)
         * changed in the meantime, so fall back to current frequency in that
         * case.
         */
-       if (requested_freq > policy->max || requested_freq < policy->min)
+       if (requested_freq > policy->max || requested_freq < policy->min) {
                requested_freq = policy->cur;
+               dbs_info->requested_freq = requested_freq;
+       }
 
        freq_step = get_freq_step(cs_tuners, policy);
 
@@ -92,7 +94,7 @@ static unsigned int cs_dbs_update(struct cpufreq_policy *policy)
        if (policy_dbs->idle_periods < UINT_MAX) {
                unsigned int freq_steps = policy_dbs->idle_periods * freq_step;
 
-               if (requested_freq > freq_steps)
+               if (requested_freq > policy->min + freq_steps)
                        requested_freq -= freq_steps;
                else
                        requested_freq = policy->min;