diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-05-31 18:10:22 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2007-05-31 18:10:22 +1000 |
commit | c49083482e59fb26b3c9d773dcc327f35a27d987 (patch) | |
tree | f2b5d45c09b47c92fd346ce54ec1743c6cd73b60 /crypto/cryptd.c | |
parent | 0163ce422dadf8a2274c79b1985228eeba0d8067 (diff) | |
download | linux-crypto-c49083482e59fb26b3c9d773dcc327f35a27d987.tar.gz linux-crypto-c49083482e59fb26b3c9d773dcc327f35a27d987.zip |
[CRYPTO] cryptd: Fix problem with cryptd and the freezer
Make sure that cryptd is marked as nonfreezable and does not hold up the
freezer.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r-- | crypto/cryptd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c index 3ff4e1f0..ac6dce2e 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; |