read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 |
                                    (0x6 << MOVE_LEN_SHIFT));
        write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF |
-                                    (0x8 << MOVE_LEN_SHIFT));
+                                    (0x8 << MOVE_LEN_SHIFT) | MOVE_WAITCOMP);
 
        /* Will read assoclen + cryptlen bytes */
        append_math_sub(desc, VARSEQINLEN, SEQINLEN, REG0, CAAM_CMD_SZ);
        read_move_cmd = append_move(desc, MOVE_SRC_DESCBUF | MOVE_DEST_MATH3 |
                                    (0x6 << MOVE_LEN_SHIFT));
        write_move_cmd = append_move(desc, MOVE_SRC_MATH3 | MOVE_DEST_DESCBUF |
-                                    (0x8 << MOVE_LEN_SHIFT));
+                                    (0x8 << MOVE_LEN_SHIFT) | MOVE_WAITCOMP);
 
        /* Will read assoclen + cryptlen bytes */
        append_math_sub(desc, VARSEQINLEN, SEQOUTLEN, REG0, CAAM_CMD_SZ);