WIP: update tizen_qemu_defconfig
[platform/kernel/linux-starfive.git] / crypto / essiv.c
index e33369d..307eba7 100644 (file)
@@ -171,7 +171,12 @@ static void essiv_aead_done(struct crypto_async_request *areq, int err)
        struct aead_request *req = areq->data;
        struct essiv_aead_request_ctx *rctx = aead_request_ctx(req);
 
+       if (err == -EINPROGRESS)
+               goto out;
+
        kfree(rctx->assoc);
+
+out:
        aead_request_complete(req, err);
 }
 
@@ -247,7 +252,7 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc)
        err = enc ? crypto_aead_encrypt(subreq) :
                    crypto_aead_decrypt(subreq);
 
-       if (rctx->assoc && err != -EINPROGRESS)
+       if (rctx->assoc && err != -EINPROGRESS && err != -EBUSY)
                kfree(rctx->assoc);
        return err;
 }