diff options
author | Huang Ying <ying.huang@intel.com> | 2009-02-19 01:44:02 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2009-02-19 01:44:02 -0500 |
commit | 0a2e821d627ad5ced23cf31137625b81cc205e0f (patch) | |
tree | 91189bc8b4a558649842721c555df60da5269b06 /crypto | |
parent | 254eff771441f4ee7aa9cf770a6e4820492c9dab (diff) |
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>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 1 | ||||
-rw-r--r-- | crypto/chainiv.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 24c31efde882..4a3e6b225189 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -56,6 +56,7 @@ config CRYPTO_BLKCIPHER2 | |||
56 | tristate | 56 | tristate |
57 | select CRYPTO_ALGAPI2 | 57 | select CRYPTO_ALGAPI2 |
58 | select CRYPTO_RNG2 | 58 | select CRYPTO_RNG2 |
59 | select CRYPTO_WORKQUEUE | ||
59 | 60 | ||
60 | config CRYPTO_HASH | 61 | config CRYPTO_HASH |
61 | tristate | 62 | tristate |
diff --git a/crypto/chainiv.c b/crypto/chainiv.c index 7c37a497b860..ba200b07449d 100644 --- a/crypto/chainiv.c +++ b/crypto/chainiv.c | |||
@@ -15,6 +15,7 @@ | |||
15 | 15 | ||
16 | #include <crypto/internal/skcipher.h> | 16 | #include <crypto/internal/skcipher.h> |
17 | #include <crypto/rng.h> | 17 | #include <crypto/rng.h> |
18 | #include <crypto/crypto_wq.h> | ||
18 | #include <linux/err.h> | 19 | #include <linux/err.h> |
19 | #include <linux/init.h> | 20 | #include <linux/init.h> |
20 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
@@ -133,7 +134,7 @@ static int async_chainiv_schedule_work(struct async_chainiv_ctx *ctx) | |||
133 | goto out; | 134 | goto out; |
134 | } | 135 | } |
135 | 136 | ||
136 | queued = schedule_work(&ctx->postponed); | 137 | queued = queue_work(kcrypto_wq, &ctx->postponed); |
137 | BUG_ON(!queued); | 138 | BUG_ON(!queued); |
138 | 139 | ||
139 | out: | 140 | out: |