crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req()
When adding the software padding, this must be done using the first/mid fragment mode, and any subsequent operation needs to be a mid-fragment. Fix this. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
ab270e7055
commit
8efbc2c0f6
|
@ -575,20 +575,12 @@ mv_cesa_ahash_dma_last_req(struct mv_cesa_tdma_chain *chain,
|
|||
if (IS_ERR(op))
|
||||
return op;
|
||||
|
||||
mv_cesa_update_op_cfg(op, CESA_SA_DESC_CFG_MID_FRAG,
|
||||
CESA_SA_DESC_CFG_FRAG_MSK);
|
||||
|
||||
if (len == trailerlen)
|
||||
return op;
|
||||
|
||||
padoff += len;
|
||||
}
|
||||
|
||||
if (!mv_cesa_mac_op_is_first_frag(&creq->op_tmpl))
|
||||
mv_cesa_update_op_cfg(&creq->op_tmpl,
|
||||
CESA_SA_DESC_CFG_MID_FRAG,
|
||||
CESA_SA_DESC_CFG_FRAG_MSK);
|
||||
|
||||
ret = mv_cesa_dma_add_data_transfer(chain,
|
||||
CESA_SA_DATA_SRAM_OFFSET,
|
||||
ahashdreq->padding_dma +
|
||||
|
|
Loading…
Reference in New Issue