linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: Jean Delvare <khali@linux-fr.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Mark M. Hoffman" <mhoffman@lightlink.com>,
	linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [PATCH 1/1] HWMON: coretemp, suspend fix
Date: Sat, 1 Dec 2007 00:45:49 +0100	[thread overview]
Message-ID: <200712010045.50297.rjw@sisk.pl> (raw)
In-Reply-To: <47508C72.8050703@gmail.com>

On Friday, 30 of November 2007, Jiri Slaby wrote:
> On 11/30/2007 11:15 PM, Jean Delvare wrote:
> > Hi Jiri,
> 
> Hi.
> 
> > On Fri, 30 Nov 2007 15:12:46 +0100, Jiri Slaby wrote:
> >> Ok, I don't see it merged in the latest -mm (mmotm). Could you, Mark, Rafael,
> >> sign off this version of the patch (Mark's + Rafael's fix)?
> >>
> >> --
> >>
> >> From: Mark M. Hoffman <mhoffman@lightlink.com>
> >>
> >> coretemp, suspend fix
> >>
> >> It's not permitted to unregister device/cpu if frozen and going to sleep.
> >> It causes deadlock on systems, where coretemp hwmon is loaded. Do it only
> >> in non-freezed states instead.
> >>
> >> Cc: Rafael J. Wysocki <rjw@sisk.pl> (frozen fix)
> >> Cc: Mark M. Hoffman <mhoffman@lightlink.com>
> >> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
> >>
> >> ---
> >> commit 4f0e19b172ed18fb29e8006c4470fd37aa245a7a
> >> tree bec1cc4f7a499efe94c5f9d2d208db325914f28e
> >> parent 877dcc2ef6c7c17a64155cf201886c49622250e9
> >> author Jiri Slaby <jirislaby@gmail.com> Tue, 27 Nov 2007 20:19:47 +0100
> >> committer Jiri Slaby <ku@bellona.localdomain> Thu, 29 Nov 2007 23:41:11 +0100
> >>
> >>  drivers/hwmon/coretemp.c |    6 ++++--
> >>  1 files changed, 4 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
> >> index 5c82ec7..ce7457d 100644
> >> --- a/drivers/hwmon/coretemp.c
> >> +++ b/drivers/hwmon/coretemp.c
> >> @@ -338,11 +338,13 @@ static int coretemp_cpu_callback(struct notifier_block *nfb,
> >>  	switch (action) {
> >>  	case CPU_ONLINE:
> >>  	case CPU_ONLINE_FROZEN:
> >> +	case CPU_DOWN_FAILED:
> >>  		coretemp_device_add(cpu);
> >> +	case CPU_DOWN_FAILED_FROZEN:
> >>  		break;
> >> -	case CPU_DEAD:
> >> -	case CPU_DEAD_FROZEN:
> >> +	case CPU_DOWN_PREPARE:
> >>  		coretemp_device_remove(cpu);
> >> +	case CPU_DOWN_PREPARE_FROZEN:
> >>  		break;
> >>  	}
> >>  	return NOTIFY_OK;
> > 
> > Should this change go to the stable tree(s) as well?
> 
> Sorry, I have no idea. Rafael?

Well, actually, having looked once again at the patch, I think that it's
slightly wrong.  Namely, it looks like we just should drop all of the _FROZEN
actions from there.

Fixed patch follows and I think it's also a candidate for -stable.

---
Subject: HWMON: coretemp, suspend fix

It's not permitted to unregister a device after devices have been suspended.
It causes deadlocks to appear on systems with coretemp hwmon loaded.  To avoid
this, we can make coretemp_cpu_callback() do nothing if the _FROZEN bit is set
in action.

Also, in other cases it's generally to late to unregister the coretemp device
if the CPU is already dead, so it should be unregistered on CPU_DOWN_PREPARE.

Cc: Rafael J. Wysocki <rjw@sisk.pl> (frozen fix)
Cc: Mark M. Hoffman <mhoffman@lightlink.com>
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/hwmon/coretemp.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Index: linux-2.6/drivers/hwmon/coretemp.c
===================================================================
--- linux-2.6.orig/drivers/hwmon/coretemp.c
+++ linux-2.6/drivers/hwmon/coretemp.c
@@ -337,11 +337,10 @@ static int coretemp_cpu_callback(struct 
 
 	switch (action) {
 	case CPU_ONLINE:
-	case CPU_ONLINE_FROZEN:
+	case CPU_DOWN_FAILED:
 		coretemp_device_add(cpu);
 		break;
-	case CPU_DEAD:
-	case CPU_DEAD_FROZEN:
+	case CPU_DOWN_PREPARE:
 		coretemp_device_remove(cpu);
 		break;
 	}

  reply	other threads:[~2007-11-30 23:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <661416096128474967.slaby@pripojeni.net>
     [not found] ` <200711301746.19447.rjw@sisk.pl>
2007-11-30 21:36   ` [PATCH 1/1] HWMON: coretemp, suspend fix Andrew Morton
2007-11-30 22:15 ` [lm-sensors] " Jean Delvare
2007-11-30 22:19   ` Jiri Slaby
2007-11-30 23:45     ` Rafael J. Wysocki [this message]
2007-11-30 23:51       ` Rafael J. Wysocki
2007-12-02 16:28         ` Mark M. Hoffman
2007-12-02 20:36           ` Rafael J. Wysocki

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=200712010045.50297.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=akpm@linux-foundation.org \
    --cc=jirislaby@gmail.com \
    --cc=khali@linux-fr.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=mhoffman@lightlink.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;
as well as URLs for NNTP newsgroup(s).