Commit b99acf79 authored by Romain Perier's avatar Romain Perier Committed by Herbert Xu

crypto: marvell - Fix wrong type check in dma functions

So far, the way that the type of a TDMA operation was checked was wrong.
We have to use the type mask in order to get the right part of the flag
containing the type of the operation.
Signed-off-by: default avatarRomain Perier <romain.perier@free-electrons.com>
Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent f6283088
...@@ -64,8 +64,9 @@ void mv_cesa_dma_cleanup(struct mv_cesa_tdma_req *dreq) ...@@ -64,8 +64,9 @@ void mv_cesa_dma_cleanup(struct mv_cesa_tdma_req *dreq)
for (tdma = dreq->chain.first; tdma;) { for (tdma = dreq->chain.first; tdma;) {
struct mv_cesa_tdma_desc *old_tdma = tdma; struct mv_cesa_tdma_desc *old_tdma = tdma;
u32 type = tdma->flags & CESA_TDMA_TYPE_MSK;
if (tdma->flags & CESA_TDMA_OP) if (type == CESA_TDMA_OP)
dma_pool_free(cesa_dev->dma->op_pool, tdma->op, dma_pool_free(cesa_dev->dma->op_pool, tdma->op,
le32_to_cpu(tdma->src)); le32_to_cpu(tdma->src));
...@@ -90,7 +91,7 @@ void mv_cesa_dma_prepare(struct mv_cesa_tdma_req *dreq, ...@@ -90,7 +91,7 @@ void mv_cesa_dma_prepare(struct mv_cesa_tdma_req *dreq,
if (tdma->flags & CESA_TDMA_SRC_IN_SRAM) if (tdma->flags & CESA_TDMA_SRC_IN_SRAM)
tdma->src = cpu_to_le32(tdma->src + engine->sram_dma); tdma->src = cpu_to_le32(tdma->src + engine->sram_dma);
if (tdma->flags & CESA_TDMA_OP) if ((tdma->flags & CESA_TDMA_TYPE_MSK) == CESA_TDMA_OP)
mv_cesa_adjust_op(engine, tdma->op); mv_cesa_adjust_op(engine, tdma->op);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment