[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>
This commit is contained in:
Родитель
872ac8743c
Коммит
93aa7f8a12
|
@ -82,10 +82,8 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req,
|
||||||
|
|
||||||
rctx = ablkcipher_request_ctx(req);
|
rctx = ablkcipher_request_ctx(req);
|
||||||
|
|
||||||
if (unlikely(err == -EINPROGRESS)) {
|
if (unlikely(err == -EINPROGRESS))
|
||||||
rctx->complete(&req->base, err);
|
goto out;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
desc.tfm = child;
|
desc.tfm = child;
|
||||||
desc.info = req->info;
|
desc.info = req->info;
|
||||||
|
@ -95,8 +93,9 @@ static void cryptd_blkcipher_crypt(struct ablkcipher_request *req,
|
||||||
|
|
||||||
req->base.complete = rctx->complete;
|
req->base.complete = rctx->complete;
|
||||||
|
|
||||||
|
out:
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
req->base.complete(&req->base, err);
|
rctx->complete(&req->base, err);
|
||||||
local_bh_enable();
|
local_bh_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче