Skip to content
This repository
Browse code

crypto: chainiv - Use kcrypto_wq instead of keventd_wq

keventd_wq has potential starvation problem, so use dedicated
kcrypto_wq instead.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
  • Loading branch information...
commit 0a2e821d627ad5ced23cf31137625b81cc205e0f 1 parent 254eff7
authored February 19, 2009 herbertx committed February 19, 2009
1  crypto/Kconfig
@@ -56,6 +56,7 @@ config CRYPTO_BLKCIPHER2
56 56
 	tristate
57 57
 	select CRYPTO_ALGAPI2
58 58
 	select CRYPTO_RNG2
  59
+	select CRYPTO_WORKQUEUE
59 60
 
60 61
 config CRYPTO_HASH
61 62
 	tristate
3  crypto/chainiv.c
@@ -15,6 +15,7 @@
15 15
 
16 16
 #include <crypto/internal/skcipher.h>
17 17
 #include <crypto/rng.h>
  18
+#include <crypto/crypto_wq.h>
18 19
 #include <linux/err.h>
19 20
 #include <linux/init.h>
20 21
 #include <linux/kernel.h>
@@ -133,7 +134,7 @@ static int async_chainiv_schedule_work(struct async_chainiv_ctx *ctx)
133 134
 			goto out;
134 135
 	}
135 136
 
136  
-	queued = schedule_work(&ctx->postponed);
  137
+	queued = queue_work(kcrypto_wq, &ctx->postponed);
137 138
 	BUG_ON(!queued);
138 139
 
139 140
 out:

0 notes on commit 0a2e821

Please sign in to comment.
Something went wrong with that request. Please try again.