|
@@ -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;
|