On 3/30/2019 11:22 AM, Yue Haibing wrote:
From: YueHaibing <yuehaibing@xxxxxxxxxx>
'err' is set in err path, but it's not returned to callers.
Don't always return -EINPROGRESS, return err.
how this one sounds ?
'err' is set in error path inside crypto_enqueue_request(), but this is not getting
returned upstream but, always EINPROGRESS. Fix this by returning appropriate error value.
Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
Reviewed-by: Mukesh Ojha <mojha@xxxxxxxxxxxxxx>
Cheers,
-Mukesh
---
drivers/crypto/mxs-dcp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/mxs-dcp.c b/drivers/crypto/mxs-dcp.c
index a2105cf..494cfc4 100644
--- a/drivers/crypto/mxs-dcp.c
+++ b/drivers/crypto/mxs-dcp.c
@@ -471,7 +471,7 @@ static int mxs_dcp_aes_enqueue(struct ablkcipher_request *req, int enc, int ecb)
wake_up_process(sdcp->thread[actx->chan]);
- return -EINPROGRESS;
+ return ret;
}
static int mxs_dcp_aes_ecb_decrypt(struct ablkcipher_request *req)
@@ -797,7 +797,7 @@ static int dcp_sha_update_fx(struct ahash_request *req, int fini)
wake_up_process(sdcp->thread[actx->chan]);
mutex_unlock(&actx->mutex);
- return -EINPROGRESS;
+ return ret;
}
static int dcp_sha_update(struct ahash_request *req)