* @iv_dma: dma address of iv for checking continuity and link table
  * @qm_sg_bytes: length of dma mapped h/w link table
  * @qm_sg_dma: bus physical mapped address of h/w link table
+ * @assoclen: associated data length, in CAAM endianness
  * @assoclen_dma: bus physical mapped address of req->assoclen
  * @drv_req: driver-specific request structure
  * @sgt: the h/w link table
        dma_addr_t iv_dma;
        int qm_sg_bytes;
        dma_addr_t qm_sg_dma;
+       unsigned int assoclen;
        dma_addr_t assoclen_dma;
        struct caam_drv_req drv_req;
 #define CAAM_QI_MAX_AEAD_SG                                            \
        edesc->drv_req.cbk = aead_done;
        edesc->drv_req.drv_ctx = drv_ctx;
 
-       edesc->assoclen_dma = dma_map_single(qidev, &req->assoclen, 4,
+       edesc->assoclen = cpu_to_caam32(req->assoclen);
+       edesc->assoclen_dma = dma_map_single(qidev, &edesc->assoclen, 4,
                                             DMA_TO_DEVICE);
        if (dma_mapping_error(qidev, edesc->assoclen_dma)) {
                dev_err(qidev, "unable to map assoclen\n");