Fix for timekeeping based hang on resume with 3.5-rc7 (was: Fwd: Re: Linux 3.5-rc7)
Martin Steigerwald <[email protected]> Mon, 16 Jul 2012 18:44:53 +0200
| Newsgroups | gmane.linux.swsusp.general,gmane.linux.swsusp.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! I am first testing this with plain vanilla. If it works I will try TuxOnIce tree again. Thanks, Martin ---------- Weitergeleitete Nachricht ---------- Subject: Re: Linux 3.5-rc7 Date: Montag, 16. Juli 2012 From: Linus Torvalds <[email protected]> To: Martin Steigerwald <[email protected]> On Mon, Jul 16, 2012 at 9:28 AM, Martin Steigerwald <[email protected]> wrote: > > Regresses badly on resume from in-kernel hibernation. I.e. hangs with some > red graphics artifacts on the tty. The same artifacts appear for a short > time with rc6 + some commits as well, but there then X.org is available > again. There's a one-liner fix for this bouncing around. Appended is a white-space damaged cut-and-paste version of the fix, so you'll need to either find the original patch (search the kernel mailing list for "Excessive delay or hang during resume from system suspend due to a hrtimer commit"), or just edit in the one-liner by hand. This should fix it (there's apparently a question on whether the "false" should be "true", but that's an independent detail, it's worth verifying in this form regardless). Linus --- diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 269b1fe..3447cfa 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -717,6 +717,7 @@ static void timekeeping_resume(void) timekeeper.clock->cycle_last = timekeeper.clock- >read(timekeeper.clock); timekeeper.ntp_error = 0; timekeeping_suspended = 0; + timekeeping_update(false); write_sequnlock_irqrestore(&timekeeper.lock, flags); touch_softlockup_watchdog(); ------------------------------------------------------- -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7