Test cookie return by dmaengine_submit() and return error if any.

Signed-off-by: YueHaibing <yuehaib...@huawei.com>
---
 drivers/crypto/ux500/cryp/cryp_core.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/crypto/ux500/cryp/cryp_core.c 
b/drivers/crypto/ux500/cryp/cryp_core.c
index a92a66b..db94f89 100644
--- a/drivers/crypto/ux500/cryp/cryp_core.c
+++ b/drivers/crypto/ux500/cryp/cryp_core.c
@@ -595,6 +595,12 @@ static int cryp_set_dma_transfer(struct cryp_ctx *ctx,
        }
 
        cookie = dmaengine_submit(desc);
+       if (dma_submit_error(cookie)) {
+               dev_dbg(ctx->device->dev, "[%s]: DMA submission failed\n",
+                       __func__);
+               return cookie;
+       }
+
        dma_async_issue_pending(channel);
 
        return 0;





Reply via email to