[3.16.y-ckt stable] Patch "thermal: step_wise: Revert optimization" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Mon Jun 22 15:14:49 UTC 2015


This is a note to let you know that I have just added a patch titled

    thermal: step_wise: Revert optimization

to the linux-3.16.y-queue branch of the 3.16.y-ckt extended stable tree 
which can be found at:

    http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.16.y-queue

This patch is scheduled to be released in version 3.16.7-ckt14.

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.16.y-ckt tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From 912838a62b4d20b4fb14f0ea021d96d516e1635b Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare at suse.de>
Date: Mon, 20 Apr 2015 11:21:13 +0200
Subject: thermal: step_wise: Revert optimization

Commit 178c2490b99f898efc06d1ad75cadc84f13021a6 ("thermal: step_wise:
cdev only needs update on a new target state") broke driver acerhdf.
That driver abused the step_wise thermal governor until the bang_bang
governor was available, and the optimization broke this usage model.

Kernels v3.12 to v3.18 are affected. In v3.19 the acerhdf driver was
switched to the bang_bang governor and that solved the problem.

For kernels v3.12 to v3.17, the bang_bang governor isn't available
yet so the easiest fix is to revert the optimization.

Signed-off-by: Jean Delvare <jdelvare at suse.de>
Reported-by: Dieter Jurzitza (https://bugzilla.opensuse.org/show_bug.cgi?id=925961)
Tested-by: Peter Feuerer <peter at piie.net>
Tested-by: Dieter Jurzitza
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 drivers/thermal/step_wise.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c
index f251521baaa2..ee52ab7d3730 100644
--- a/drivers/thermal/step_wise.c
+++ b/drivers/thermal/step_wise.c
@@ -146,9 +146,6 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
 		dev_dbg(&instance->cdev->device, "old_target=%d, target=%d\n",
 					old_target, (int)instance->target);

-		if (old_target == instance->target)
-			continue;
-
 		/* Activate a passive thermal instance */
 		if (old_target == THERMAL_NO_TARGET &&
 			instance->target != THERMAL_NO_TARGET)




More information about the kernel-team mailing list