diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-05-07 21:10:13 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-07-10 20:35:09 +0800 |
commit | b7ed5cc934eae42ce60bccb1f65da25a4da38742 (patch) | |
tree | 3bb8e6cdc6b82503b71e9511d667668de6497167 /crypto/cryptd.c | |
parent | 4da3cf2ff4a51349887201dd1efa1dfbc3a99703 (diff) | |
download | linux-crypto-b7ed5cc934eae42ce60bccb1f65da25a4da38742.tar.gz linux-crypto-b7ed5cc934eae42ce60bccb1f65da25a4da38742.zip |
[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 '')
-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 b150de56..f38e1473 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c @@ -82,10 +82,8 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req, rctx = ablkcipher_request_ctx(req); - if (unlikely(err == -EINPROGRESS)) { - rctx->complete(&req->base, err); - return; - } + if (unlikely(err == -EINPROGRESS)) + goto out; desc.tfm = child; desc.info = req->info; @@ -95,8 +93,9 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req, req->base.complete = rctx->complete; +out: local_bh_disable(); - req->base.complete(&req->base, err); + rctx->complete(&req->base, err); local_bh_enable(); } |