mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Lukasz Majewski <l.majewski@samsung.com>
To: Zhang Rui <rui.zhang@intel.com>, Eduardo Valentin <edubezval@gmail.com>
Cc: Linux PM list <linux-pm@vger.kernel.org>,
	Lukasz Majewski <l.majewski@majess.pl>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-kernel@vger.kernel.org,
	Lukasz Majewski <l.majewski@samsung.com>
Subject: [PATCH 1/3] thermal: step_wise: fix: Prevent from binary overflow when trend is dropping
Date: Wed, 24 Sep 2014 10:27:10 +0200	[thread overview]
Message-ID: <1411547232-21493-2-git-send-email-l.majewski@samsung.com> (raw)
In-Reply-To: <1411547232-21493-1-git-send-email-l.majewski@samsung.com>

It turns out that some boards can have instance->lower greater than 0 and
when thermal trend is dropping it results with next_target equal to -1.

Since the next_target is defined as unsigned long it is interpreted as
0xFFFFFFFF and larger than instance->upper.
As a result the next_target is set to instance->upper which ramps up to
maximal cooling device target when the temperature is steadily decreasing.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
---
 drivers/thermal/step_wise.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c
index 3b54c2c..fdd1f52 100644
--- a/drivers/thermal/step_wise.c
+++ b/drivers/thermal/step_wise.c
@@ -77,7 +77,7 @@ static unsigned long get_target_state(struct thermal_instance *instance,
 			next_target = instance->upper;
 		break;
 	case THERMAL_TREND_DROPPING:
-		if (cur_state == instance->lower) {
+		if (cur_state <= instance->lower) {
 			if (!throttle)
 				next_target = THERMAL_NO_TARGET;
 		} else {
-- 
2.0.0.rc2


  reply	other threads:[~2014-09-24  8:27 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-24  8:27 [PATCH 0/3] thermal: fix: Various fixes for thermal subsystem Lukasz Majewski
2014-09-24  8:27 ` Lukasz Majewski [this message]
2014-10-02 21:13   ` [PATCH 1/3] thermal: step_wise: fix: Prevent from binary overflow when trend is dropping Eduardo Valentin
2014-10-03  7:26     ` Lukasz Majewski
2014-10-09  3:14   ` Zhang Rui
2014-09-24  8:27 ` [PATCH 2/3] thermal: core: fix: Initialize the max_state variable to 0 Lukasz Majewski
2014-10-02 22:26   ` Eduardo Valentin
2014-10-03  8:26     ` Lukasz Majewski
2014-10-06 18:01       ` Eduardo Valentin
2014-09-24  8:27 ` [PATCH 3/3] thermal: core: fix: Check return code of the ->get_max_state() callback Lukasz Majewski
2014-10-02 22:24   ` Eduardo Valentin
2014-10-03 10:40     ` Lukasz Majewski
2014-10-09  3:15       ` Zhang Rui
2014-10-09 16:47         ` Lukasz Majewski
2014-10-02 14:40 ` [PATCH 0/3] thermal: fix: Various fixes for thermal subsystem Lukasz Majewski
2014-11-13 17:02 ` [PATCH 0/8] thermal:cpu cooling:fix: Provide thermal core fixes with deferred probe for several drivers Lukasz Majewski
2014-11-13 17:02   ` [PATCH 1/8] thermal:cpu cooling:armada: Provide deferred probing for armada driver Lukasz Majewski
2014-11-13 17:02   ` [PATCH 2/8] thermal:cpu cooling:kirkwood: Provide deferred probing for kirkwood driver Lukasz Majewski
2014-11-13 17:02   ` [PATCH 3/8] thermal:cpu cooling:rcar: Provide deferred probing for rcar driver Lukasz Majewski
2014-11-13 17:02   ` [PATCH 4/8] thermal:cpu cooling:spear: Provide deferred probing for spear driver Lukasz Majewski
2014-11-13 17:02   ` [PATCH 5/8] thermal:cpu cooling:tegra: Provide deferred probing for tegra driver Lukasz Majewski
2014-11-14 10:47     ` Mikko Perttunen
2014-11-14 11:24       ` Lukasz Majewski
2014-11-17 11:57         ` Thierry Reding
2014-11-17 12:51           ` Lukasz Majewski
2014-11-17 13:18             ` Thierry Reding
2014-11-17 11:43       ` Thierry Reding
2014-11-17 11:50         ` Lukasz Majewski
2014-11-17 12:01           ` Thierry Reding
2014-11-17 13:02             ` Lukasz Majewski
2014-11-17 12:51         ` Mikko Perttunen
2014-11-17 13:08           ` Thierry Reding
2014-11-17 13:24             ` Mikko Perttunen
2014-11-17 11:40     ` Thierry Reding
2014-11-13 17:02   ` [PATCH 6/8] thermal:cpu cooling:ti: Provide deferred probing for ti drivers Lukasz Majewski
2014-11-20 19:00     ` Eduardo Valentin
2014-11-13 17:02   ` [PATCH 7/8] thermal:core:fix: Initialize the max_state variable to 0 Lukasz Majewski
2014-11-13 17:02   ` [PATCH 8/8] thermal:core:fix: Check return code of the ->get_max_state() callback Lukasz Majewski
2014-11-18 10:16   ` [PATCH v2] " Lukasz Majewski
2014-11-21 18:08     ` Eduardo Valentin
2014-11-24 10:38       ` Lukasz Majewski
2014-11-24 11:00         ` Viresh Kumar
2014-11-24 14:24           ` Lukasz Majewski
2014-11-25 10:46             ` Viresh Kumar
2014-11-24 18:02         ` Eduardo Valentin
2014-11-24 20:28           ` Lukasz Majewski
2014-11-20 18:54   ` [PATCH 0/8] thermal:cpu cooling:fix: Provide thermal core fixes with deferred probe for several drivers Eduardo Valentin
2014-11-21  8:33     ` Lukasz Majewski
2014-11-21  2:47       ` Eduardo Valentin
2014-11-21 16:28         ` Lukasz Majewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1411547232-21493-2-git-send-email-l.majewski@samsung.com \
    --to=l.majewski@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=edubezval@gmail.com \
    --cc=l.majewski@majess.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®