diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-05-07 09:10:13 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-07-10 08:35:09 -0400 |
commit | 93aa7f8a12d1b229bcee12a1100a6df4945f5432 (patch) | |
tree | 6b5636274f289139d8b9e52410141399950275cb /crypto/cryptd.c | |
parent | 872ac8743cb400192a9fce4ba2d3ffd7bb309685 (diff) |
[CRYPTO] cryptd: Fix EINPROGRESS notification context
The EINPROGRESS notifications should be done just like the final
call-backs, i.e., with BH off. This patch fixes the call in cryptd
since previously it was called with BH on.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/cryptd.c')
-rw-r--r-- | crypto/cryptd.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c index b150de562057..f38e1473b724 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c | |||
@@ -82,10 +82,8 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req, | |||
82 | 82 | ||
83 | rctx = ablkcipher_request_ctx(req); | 83 | rctx = ablkcipher_request_ctx(req); |
84 | 84 | ||
85 | if (unlikely(err == -EINPROGRESS)) { | 85 | if (unlikely(err == -EINPROGRESS)) |
86 | rctx->complete(&req->base, err); | 86 | goto out; |
87 | return; | ||
88 | } | ||
89 | 87 | ||
90 | desc.tfm = child; | 88 | desc.tfm = child; |
91 | desc.info = req->info; | 89 | desc.info = req->info; |
@@ -95,8 +93,9 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req, | |||
95 | 93 | ||
96 | req->base.complete = rctx->complete; | 94 | req->base.complete = rctx->complete; |
97 | 95 | ||
96 | out: | ||
98 | local_bh_disable(); | 97 | local_bh_disable(); |
99 | req->base.complete(&req->base, err); | 98 | rctx->complete(&req->base, err); |
100 | local_bh_enable(); | 99 | local_bh_enable(); |
101 | } | 100 | } |
102 | 101 | ||