aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2007-05-31 04:10:22 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2007-05-31 04:10:22 -0400
commit189fe3174ce93f4c949325426c87c4d875a13424 (patch)
treeb3ba6ff513bdb234a29f1b5a578fb3a995fd1aa8
parent7a74fc4925067c2102175baef73f9b07ab519b71 (diff)
[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>
-rw-r--r--crypto/cryptd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c
index 3ff4e1f0f032..ac6dce2e7596 100644
--- a/crypto/cryptd.c
+++ b/crypto/cryptd.c
@@ -298,7 +298,7 @@ static inline int cryptd_create_thread(struct cryptd_state *state,
298 mutex_init(&state->mutex); 298 mutex_init(&state->mutex);
299 crypto_init_queue(&state->queue, CRYPTD_MAX_QLEN); 299 crypto_init_queue(&state->queue, CRYPTD_MAX_QLEN);
300 300
301 state->task = kthread_create(fn, state, name); 301 state->task = kthread_run(fn, state, name);
302 if (IS_ERR(state->task)) 302 if (IS_ERR(state->task))
303 return PTR_ERR(state->task); 303 return PTR_ERR(state->task);
304 304
@@ -316,6 +316,8 @@ static int cryptd_thread(void *data)
316 struct cryptd_state *state = data; 316 struct cryptd_state *state = data;
317 int stop; 317 int stop;
318 318
319 current->flags |= PF_NOFREEZE;
320
319 do { 321 do {
320 struct crypto_async_request *req, *backlog; 322 struct crypto_async_request *req, *backlog;
321 323