Signed-off-by: Lukasz Luba l.luba@partner.samsung.com --- kernel/sched/power.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/power.c b/kernel/sched/power.c index cf56484f95ca..923f689860d1 100644 --- a/kernel/sched/power.c +++ b/kernel/sched/power.c @@ -656,7 +656,10 @@ static int cooling_dev_set_state(struct _thermal_zone *zone, /* we treat single-cooling-dev-zone as a guard for max temp */ cooling->max_single_state = target; } else { - if (cooling->max_single_state < target) { + /* Lower 'target' state means higer frequency. Prevent going to + * higer freq if there was a limit due temperature value + * from sensor closer to the device. */ + if (cooling->max_single_state > target) { target = cooling->max_single_state; ret = -EAGAIN; }