* [PATCH] 2.5.64 ACPI suspend/resume locking fix
@ 2003-03-10 13:14 Andreas Mohr
0 siblings, 0 replies; only message in thread
From: Andreas Mohr @ 2003-03-10 13:14 UTC (permalink / raw)
To: linux-kernel; +Cc: alan
Hi,
doing an
echo 1 >/proc/acpi/sleep
caused quite some trouble on resume, such as
bad: scheduling while atomic!
Call Trace:
[<c011d4c0>] schedule+0x220/0x230
[<c0140608>] __pdflush+0x98/0x1e0
[<c0140750>] pdflush+0x0/0x20
[<c0140761>] pdflush+0x11/0x20
[<c010826d>] kernel_thread_helper+0x5/0x18
(see BugZilla #455).
Turned out that the suspend handling in __pdflush() was abusing
pdflush_lock, by not relocking before going back up the loop (which then
unlocked again --> refcount -1 --> haywire!).
With the locking fix below,
doing
echo 1 >/proc/acpi/sleep
now suspends/resumes beautifully without giving further errors.
Note that my machine still gets killed completely if I do
echo 3 >/proc/acpi/sleep
, however. Any ideas? How to debug this?
Thanks,
Andreas Mohr
--- mm/pdflush.c.org 2003-03-10 14:04:00.000000000 +0100
+++ mm/pdflush.c 2003-03-10 13:14:57.000000000 +0100
@@ -106,6 +106,7 @@
schedule();
if (current->flags & PF_FREEZE) {
refrigerator(PF_IOTHREAD);
+ spin_lock_irq(&pdflush_lock);
continue;
}
--
Andreas Mohr Stauferstr. 6, D-71272 Renningen, Germany
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-03-10 13:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-10 13:14 [PATCH] 2.5.64 ACPI suspend/resume locking fix Andreas Mohr
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.