Browse Source

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
Linus Torvalds 18 years ago
parent
commit
0c27011a75
1 changed files with 3 additions and 1 deletions
  1. 3 1
      crypto/cryptd.c

+ 3 - 1
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;