From 9d481aee7412a960c02d73531d4e6565ec3e0bdb Mon Sep 17 00:00:00 2001 From: Iuliana Prodan Date: Fri, 13 Mar 2020 16:35:51 +0200 Subject: [PATCH] MLK-23620-2 dma: caam - update the check for the return code of caam_jr_enqueue function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit 4d370a103695 ("crypto: caam - change return code in caam_jr_enqueue function"), the return code of caam_jr_enqueue function was changed from 0 to -EINPROGRESS, in case of success, -ENOSPC in case the CAAM is busy (has no space left in job ring queue), -EIO if it cannot map the caller's descriptor. Update the case for break from the loop of caam_dma_prep_memcpy based on the new return code from caam_jr_enqueue function. Fixes: 4d370a103695 ("crypto: caam - change return code in caam_jr_enqueue function") Signed-off-by: Iuliana Prodan Reviewed-by: Horia Geantă --- drivers/dma/caam_dma.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/dma/caam_dma.c b/drivers/dma/caam_dma.c index c95b9679694e..2cd47c9b3ec5 100644 --- a/drivers/dma/caam_dma.c +++ b/drivers/dma/caam_dma.c @@ -219,8 +219,9 @@ static void caam_dma_issue_pending(struct dma_chan *chan) spin_lock_bh(&ctx->edesc_lock); list_for_each_entry_safe(edesc, _edesc, &ctx->pending_q, node) { - if (caam_jr_enqueue(ctx->jrdev, edesc->jd, - caam_dma_done, edesc) < 0) + int ret = caam_jr_enqueue(ctx->jrdev, edesc->jd, + caam_dma_done, edesc); + if (ret != -EINPROGRESS) break; list_del(&edesc->node); }