diff options
author | Iuliana Prodan <iuliana.prodan@nxp.com> | 2020-03-13 16:35:51 +0200 |
---|---|---|
committer | Iuliana Prodan <iuliana.prodan@nxp.com> | 2020-03-19 11:07:32 +0200 |
commit | 9d481aee7412a960c02d73531d4e6565ec3e0bdb (patch) | |
tree | c8574d6006a790c257086d0f946f6662af6ab9a2 /drivers/dma | |
parent | 4031641e56377cc34d34189429e0e29c575e9b12 (diff) |
MLK-23620-2 dma: caam - update the check for the return code of caam_jr_enqueue function
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 <iuliana.prodan@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/caam_dma.c | 5 |
1 files 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); } |