mirror of https://gitee.com/openkylin/linux.git
[CPUFREQ] Fix ondemand to not request targets outside policy limits
Dominik said: target_freq cannot be below policy->min or above policy->max. If it were, the whole cpufreq subsystem is broken. But (answer): I think the "ondemand" governor can ask for a target frequency that is below policy->min. ... A patch such as below may be needed to sanitize the target frequency requested by "ondemand". The "conservative" governor already has this check: Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Dave Jones <davej@redhat.com> # diff -bur x/drivers/cpufreq/cpufreq_ondemand.c.orig y/drivers/cpufreq/cpufreq_ondemand.c
This commit is contained in:
parent
557a701c16
commit
1dbf58881f
|
@ -554,6 +554,9 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info)
|
||||||
(dbs_tuners_ins.up_threshold -
|
(dbs_tuners_ins.up_threshold -
|
||||||
dbs_tuners_ins.down_differential);
|
dbs_tuners_ins.down_differential);
|
||||||
|
|
||||||
|
if (freq_next < policy->min)
|
||||||
|
freq_next = policy->min;
|
||||||
|
|
||||||
if (!dbs_tuners_ins.powersave_bias) {
|
if (!dbs_tuners_ins.powersave_bias) {
|
||||||
__cpufreq_driver_target(policy, freq_next,
|
__cpufreq_driver_target(policy, freq_next,
|
||||||
CPUFREQ_RELATION_L);
|
CPUFREQ_RELATION_L);
|
||||||
|
|
Loading…
Reference in New Issue