While working on an LX2160 based board and updating to latest mainline
I noticed problems using the HW accelerated hash functions on this
platform, when trying to boot a FIT Kernel image. Here the resulting
error message:

   Using 'conf-freescale_lx2160a.dtb' configuration
   Trying 'kernel-1' kernel subimage
   Verifying Hash Integrity ... sha256Error: Address arguments are not aligned
CAAM was not setup properly or it is faulty
 error!
Bad hash value for 'hash-1' hash node in 'kernel-1' image node
Bad Data Hash
ERROR: can't get kernel image!

Testing and checking with Gaurav Jain from NXP has revealed, that this
alignment check is not necessary here at all. So let's remove this
check completely.

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Gaurav Jain <gaurav.j...@nxp.com>
Cc: dullf...@yahoo.com
---
 drivers/crypto/fsl/fsl_hash.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/crypto/fsl/fsl_hash.c b/drivers/crypto/fsl/fsl_hash.c
index a52c4ac957e0..0a371bffd5eb 100644
--- a/drivers/crypto/fsl/fsl_hash.c
+++ b/drivers/crypto/fsl/fsl_hash.c
@@ -168,12 +168,6 @@ int caam_hash(const unsigned char *pbuf, unsigned int 
buf_len,
        uint32_t *desc;
        unsigned int size;
 
-       if (!IS_ALIGNED((uintptr_t)pbuf, ARCH_DMA_MINALIGN) ||
-           !IS_ALIGNED((uintptr_t)pout, ARCH_DMA_MINALIGN)) {
-               puts("Error: Address arguments are not aligned\n");
-               return -EINVAL;
-       }
-
        desc = malloc_cache_aligned(sizeof(int) * MAX_CAAM_DESCSIZE);
        if (!desc) {
                debug("Not enough memory for descriptor allocation\n");
-- 
2.32.0

Reply via email to