summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoria Geantă <horia.geanta@nxp.com>2017-12-05 09:14:10 (GMT)
committerXie Xiaobo <xiaobo.xie@nxp.com>2017-12-12 07:32:43 (GMT)
commit309862b660e2ec03eae0c22eeef5e058a9cd38be (patch)
tree7f2186f68117fe750c8263aea1df3da57150edd9
parented6a4bb8c1d218babb2f677f0975c0bd9980ee7e (diff)
downloadlinux-309862b660e2ec03eae0c22eeef5e058a9cd38be.tar.xz
crypto: caam/qi - fix FD congestion weight
When caam_qi_enqueue() is called, compound FD has already been swapped to CAAM endianness, thus accesing it ("length" field in this case) by CPU has to be done by first unswapping. Fixes: ca982fae08a2 ("crypto: caam/qi - use QBMan (NXP) SDK driver") Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
-rw-r--r--drivers/crypto/caam/qi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/caam/qi.c b/drivers/crypto/caam/qi.c
index 48185d5..baa7d51 100644
--- a/drivers/crypto/caam/qi.c
+++ b/drivers/crypto/caam/qi.c
@@ -109,7 +109,7 @@ int caam_qi_enqueue(struct device *qidev, struct caam_drv_req *req)
fd.cmd = 0;
fd.format = qm_fd_compound;
- fd.cong_weight = req->fd_sgt[1].length;
+ fd.cong_weight = caam32_to_cpu(req->fd_sgt[1].length);
fd.addr = dma_map_single(qidev, req->fd_sgt, sizeof(req->fd_sgt),
DMA_BIDIRECTIONAL);
if (dma_mapping_error(qidev, fd.addr)) {