diff mbox

[RFC,v2] crypto: sahara: pass on error condition

Message ID 1423308465-28222-1-git-send-email-hofrat@osadl.org (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Nicholas Mc Guire Feb. 7, 2015, 11:27 a.m. UTC
A failure of sahara_hw_descriptor_create() with -EINVAL due to scatter list
out of bounds/invalid would not be reported back. This patch just passes on
the -EINVAL so it is visible in sahara_queue_manage().

Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
---

v2: cut&past error - the condition is not if (!ret) but if (ret) as
    sahara_hw_descriptor_create() will return 0 on success and -EINVAL
    in all failure paths.

Patch was only compile tested with imx_v4_v5_defconfig
CONFIG_CRYPTO_HW=y, CONFIG_CRYPTO_DEV_SAHARA=m

Patch is against 3.19.0-rc7 (localversion-next is -next-20150204)

 drivers/crypto/sahara.c |    2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/drivers/crypto/sahara.c b/drivers/crypto/sahara.c
index 0c790be..a9eeb8b 100644
--- a/drivers/crypto/sahara.c
+++ b/drivers/crypto/sahara.c
@@ -602,6 +602,8 @@  static int sahara_aes_process(struct ablkcipher_request *req)
 	reinit_completion(&dev->dma_completion);
 
 	ret = sahara_hw_descriptor_create(dev);
+	if (ret)
+		return -EINVAL;
 
 	timeout = wait_for_completion_timeout(&dev->dma_completion,
 				msecs_to_jiffies(SAHARA_TIMEOUT_MS));