Re: software suspend doesn't work with 2.6.22-rc3

From: Nigel Cunningham
Date: Sat May 26 2007 - 05:54:05 EST


Hi.

On Sat, 2007-05-26 at 11:28 +0200, Maximilian Engelhardt wrote:
> Hello,
>
> When I try software suspend on my laptop it always returns to my running
> system after some time.
> This is what's logged by the kernel:
>
> swsusp: Basic memory bitmaps created
> Stopping tasks ...
> Stopping kernel threads timed out after 20 seconds (1 tasks refusing to
> freeze):
> cryptd
> Restarting tasks ... done.
> swsusp: Basic memory bitmaps freed
>
> I have no idea what's the problem, but if you tell me what I should do I can
> create debugging information and/or test patches.

Could you try this patch, please? It should help.

Herbert, is this right? If cryptd is going to be used for block devs,
the task should probably be PF_NOFREEZE (or whatever it is today)
instead.

Regards,

Nigel

crypto/cryptd.c | 1 +
include/linux/freezer.h | 3 +++
kernel/power/process.c | 2 +-
3 files changed, 5 insertions(+), 1 deletion(-)
diff -ruNp 991-fix-cryptd.patch-old/crypto/cryptd.c 991-fix-cryptd.patch-new/crypto/cryptd.c
--- 991-fix-cryptd.patch-old/crypto/cryptd.c 2007-05-19 18:16:47.000000000 +1000
+++ 991-fix-cryptd.patch-new/crypto/cryptd.c 2007-05-26 19:45:42.000000000 +1000
@@ -341,6 +341,7 @@ static int cryptd_thread(void *data)

mutex_unlock(&state->mutex);

+ try_to_freeze();
schedule();
} while (!stop);


Attachment: signature.asc
Description: This is a digitally signed message part