From 309862b660e2ec03eae0c22eeef5e058a9cd38be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horia=20Geant=C4=83?= Date: Tue, 5 Dec 2017 11:14:10 +0200 Subject: crypto: caam/qi - fix FD congestion weight MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ă 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)) { -- cgit v0.10.2