From: Philip Langdale <philipl@overt.org>
To: linux-kernel@vger.kernel.org
Cc: gregkh@suse.de, tglx@linutronix.de
Subject: Linux 3.1.5/6 regression: fails to resume from suspend (bisected)
Date: Mon, 26 Dec 2011 21:31:40 -0800 [thread overview]
Message-ID: <20111226213140.0308612f@fido5> (raw)
Hi,
After upgrading to 3.1.5, and still in 3.1.6, I found myself unable to
resume from suspend. I did a bisect and identified the following change
as the cause:
commit aeed6baa702a285cf03b7dc4182ffc1a7f4e4ed6
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Fri Dec 2 16:02:45 2011 +0100
clockevents: Set noop handler in clockevents_exchange_device()
commit de28f25e8244c7353abed8de0c7792f5f883588c upstream.
If a device is shutdown, then there might be a pending interrupt,
which will be processed after we reenable interrupts, which causes
the original handler to be run. If the old handler is the
(broadcast) periodic handler the shutdown state might hang the
kernel completely.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index e4c699d..13dfaab 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -286,6 +286,7 @@ void clockevents_exchange_device(struct
clock_event_device *old,
* released list and do a notify add later.
*/
if (old) {
+ old->event_handler = clockevents_handle_noop;
clockevents_set_mode(old, CLOCK_EVT_MODE_UNUSED);
list_del(&old->list);
list_add(&old->list, &clockevents_released);
If I undo this change in my 3.1.6 tree, I am then able to resume as
before.
This was also reported upstream at fedora but was not fully
diagnosed:
https://bugzilla.redhat.com/show_bug.cgi?id=767248
I wouldn't be surprised if it's related to the nvidia binary drivers
in some way (I use them and so does the fedora bug reporter), but it's
not practical to avoid them.
--phil
next reply other threads:[~2011-12-27 5:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-27 5:31 Philip Langdale [this message]
2011-12-29 22:56 ` Linux 3.1.5/6 regression: fails to resume from suspend (bisected) Bjarke Istrup Pedersen
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=20111226213140.0308612f@fido5 \
--to=philipl@overt.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/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