diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c index 4bf4bb5b1a8bcf15c5a09df754fa2856942bda7a..ebe1f3639a22dc229edac738a55cf404eb0e05f5 100644 --- a/crypto/pcrypt.c +++ b/crypto/pcrypt.c @@ -175,6 +175,8 @@ static int pcrypt_aead_encrypt(struct aead_request *req) err = pcrypt_do_parallel(padata, &ctx->cb_cpu, &pencrypt); if (!err) return -EINPROGRESS; + if (err == -EBUSY) + return -EAGAIN; return err; } @@ -219,6 +221,8 @@ static int pcrypt_aead_decrypt(struct aead_request *req) err = pcrypt_do_parallel(padata, &ctx->cb_cpu, &pdecrypt); if (!err) return -EINPROGRESS; + if (err == -EBUSY) + return -EAGAIN; return err; } diff --git a/kernel/padata.c b/kernel/padata.c index 93e4fb2d9f2ee04e57604e1347c796f6e4446a97..848e40e3581b8095f6db6aee6cbd4b560ff2f818 100644 --- a/kernel/padata.c +++ b/kernel/padata.c @@ -121,7 +121,7 @@ int padata_do_parallel(struct padata_instance *pinst, if (!cpumask_test_cpu(cb_cpu, pd->cpumask.cbcpu)) goto out; - err = -EBUSY; + err = -EBUSY; if ((pinst->flags & PADATA_RESET)) goto out;