aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/cryptd.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2008-05-07 09:10:13 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2008-07-10 08:35:09 -0400
commit93aa7f8a12d1b229bcee12a1100a6df4945f5432 (patch)
tree6b5636274f289139d8b9e52410141399950275cb /crypto/cryptd.c
parent872ac8743cb400192a9fce4ba2d3ffd7bb309685 (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.c9
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
96out:
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