From ced8b560088a33a6d0244975b15222e00ebb3c30 Mon Sep 17 00:00:00 2001 From: Franck LENORMAND <franck.lenormand@nxp.com> Date: Mon, 21 Jan 2019 13:51:43 +0100 Subject: [PATCH] MLK-20639: drivers: crypto: caam: pkc: RSA test fails as struct uses wrong type When creating the job descriptor, it uses the size of the structure which is composed of dma_addr_t. On IMX8, this structrue is 64bit like the DMA however the CAAM only receives 32 bit addresses. It result in a job descriptor and more precisely the start index to point to invalid location when it should point to the "command operation". This patch changes the dma_addr_t to caam_dma_addr_t which is the correct one for the rsa_priv_f2_pdb and rsa_priv_f3_pdb types as rsa_pub_pdb and rsa_priv_f1_pdb already had this change. Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Reviewed-by: Horia Geanta <horia.geanta@nxp.com> --- drivers/crypto/caam/pdb.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/crypto/caam/pdb.h b/drivers/crypto/caam/pdb.h index 1293408c29cf36..68f27e07e01e1b 100644 --- a/drivers/crypto/caam/pdb.h +++ b/drivers/crypto/caam/pdb.h @@ -548,13 +548,13 @@ struct rsa_priv_f1_pdb { */ struct rsa_priv_f2_pdb { u32 sgf; - dma_addr_t g_dma; - dma_addr_t f_dma; - dma_addr_t d_dma; - dma_addr_t p_dma; - dma_addr_t q_dma; - dma_addr_t tmp1_dma; - dma_addr_t tmp2_dma; + caam_dma_addr_t g_dma; + caam_dma_addr_t f_dma; + caam_dma_addr_t d_dma; + caam_dma_addr_t p_dma; + caam_dma_addr_t q_dma; + caam_dma_addr_t tmp1_dma; + caam_dma_addr_t tmp2_dma; u32 p_q_len; } __packed; @@ -578,15 +578,15 @@ struct rsa_priv_f2_pdb { */ struct rsa_priv_f3_pdb { u32 sgf; - dma_addr_t g_dma; - dma_addr_t f_dma; - dma_addr_t c_dma; - dma_addr_t p_dma; - dma_addr_t q_dma; - dma_addr_t dp_dma; - dma_addr_t dq_dma; - dma_addr_t tmp1_dma; - dma_addr_t tmp2_dma; + caam_dma_addr_t g_dma; + caam_dma_addr_t f_dma; + caam_dma_addr_t c_dma; + caam_dma_addr_t p_dma; + caam_dma_addr_t q_dma; + caam_dma_addr_t dp_dma; + caam_dma_addr_t dq_dma; + caam_dma_addr_t tmp1_dma; + caam_dma_addr_t tmp2_dma; u32 p_q_len; } __packed; -- GitLab