Linux 6.9-rc1
[linux-2.6-microblaze.git] / crypto / pcrypt.c
index 9d10b84..d0d954f 100644 (file)
@@ -63,9 +63,9 @@ static void pcrypt_aead_serial(struct padata_priv *padata)
        aead_request_complete(req->base.data, padata->info);
 }
 
-static void pcrypt_aead_done(struct crypto_async_request *areq, int err)
+static void pcrypt_aead_done(void *data, int err)
 {
-       struct aead_request *req = areq->data;
+       struct aead_request *req = data;
        struct pcrypt_request *preq = aead_request_ctx(req);
        struct padata_priv *padata = pcrypt_request_padata(preq);
 
@@ -117,6 +117,8 @@ static int pcrypt_aead_encrypt(struct aead_request *req)
        err = padata_do_parallel(ictx->psenc, padata, &ctx->cb_cpu);
        if (!err)
                return -EINPROGRESS;
+       if (err == -EBUSY)
+               return -EAGAIN;
 
        return err;
 }
@@ -164,6 +166,8 @@ static int pcrypt_aead_decrypt(struct aead_request *req)
        err = padata_do_parallel(ictx->psdec, padata, &ctx->cb_cpu);
        if (!err)
                return -EINPROGRESS;
+       if (err == -EBUSY)
+               return -EAGAIN;
 
        return err;
 }