aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-31 09:10:06 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-31 09:10:06 -0700
commit0c27011a7562f2b67bec61509e21113ec125aba1 (patch)
tree5067020033474b2f00926796511c7bbc8b149709
parentad360bbbbecc90c654ea1fcd8178366814a9f93a (diff)
parent189fe3174ce93f4c949325426c87c4d875a13424 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cryptd: Fix problem with cryptd and the freezer
-rw-r--r--crypto/cryptd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c
index 3ff4e1f0f03..ac6dce2e759 100644
--- a/crypto/cryptd.c
+++ b/crypto/cryptd.c
@@ -298,7 +298,7 @@ static inline int cryptd_create_thread(struct cryptd_state *state,
mutex_init(&state->mutex);
crypto_init_queue(&state->queue, CRYPTD_MAX_QLEN);
- state->task = kthread_create(fn, state, name);
+ state->task = kthread_run(fn, state, name);
if (IS_ERR(state->task))
return PTR_ERR(state->task);
@@ -316,6 +316,8 @@ static int cryptd_thread(void *data)
struct cryptd_state *state = data;
int stop;
+ current->flags |= PF_NOFREEZE;
+
do {
struct crypto_async_request *req, *backlog;