crypto: null - Remove default null blkcipher
[cascardo/linux.git] / crypto / ablk_helper.c
index e1fcf53..1441f07 100644 (file)
@@ -71,7 +71,8 @@ int ablk_encrypt(struct ablkcipher_request *req)
        struct crypto_ablkcipher *tfm = crypto_ablkcipher_reqtfm(req);
        struct async_helper_ctx *ctx = crypto_ablkcipher_ctx(tfm);
 
-       if (!may_use_simd()) {
+       if (!may_use_simd() ||
+           (in_atomic() && cryptd_ablkcipher_queued(ctx->cryptd_tfm))) {
                struct ablkcipher_request *cryptd_req =
                        ablkcipher_request_ctx(req);
 
@@ -90,7 +91,8 @@ int ablk_decrypt(struct ablkcipher_request *req)
        struct crypto_ablkcipher *tfm = crypto_ablkcipher_reqtfm(req);
        struct async_helper_ctx *ctx = crypto_ablkcipher_ctx(tfm);
 
-       if (!may_use_simd()) {
+       if (!may_use_simd() ||
+           (in_atomic() && cryptd_ablkcipher_queued(ctx->cryptd_tfm))) {
                struct ablkcipher_request *cryptd_req =
                        ablkcipher_request_ctx(req);