1
0
Fork 0

MLK-23620-2 dma: caam - update the check for the return code of caam_jr_enqueue function

In commit 4d370a1036 ("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: 4d370a1036 ("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>
5.4-rM2-2.2.x-imx-squashed
Iuliana Prodan 2020-03-13 16:35:51 +02:00
parent 4031641e56
commit 9d481aee74
1 changed files with 3 additions and 2 deletions

View File

@ -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);
}