Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f396a91 authored by Russell King's avatar Russell King Committed by Herbert Xu
Browse files

crypto: marvell/cesa - always ensure mid-fragments after first-fragment



If we add a template first-fragment operation, always update the
template to be a mid-fragment.  This ensures that mid-fragments
always follow on from a first fragment in every case.

This means we can move the first to mid-fragment update code out of
mv_cesa_ahash_dma_add_data().

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 96212886
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -491,6 +491,11 @@ mv_cesa_dma_add_frag(struct mv_cesa_tdma_chain *chain,
	if (ret)
		return ERR_PTR(ret);

	if (mv_cesa_mac_op_is_first_frag(tmpl))
		mv_cesa_update_op_cfg(tmpl,
				      CESA_SA_DESC_CFG_MID_FRAG,
				      CESA_SA_DESC_CFG_FRAG_MSK);

	return op;
}

@@ -529,7 +534,6 @@ mv_cesa_ahash_dma_add_data(struct mv_cesa_tdma_chain *chain,
			   struct mv_cesa_ahash_req *creq,
			   gfp_t flags)
{
	struct mv_cesa_op_ctx *op;
	int ret;

	/* Add input transfers */
@@ -538,17 +542,8 @@ mv_cesa_ahash_dma_add_data(struct mv_cesa_tdma_chain *chain,
	if (ret)
		return ERR_PTR(ret);

	op = mv_cesa_dma_add_frag(chain, &creq->op_tmpl, dma_iter->base.op_len,
	return mv_cesa_dma_add_frag(chain, &creq->op_tmpl, dma_iter->base.op_len,
				    flags);
	if (IS_ERR(op))
		return op;

	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);

	return op;
}

static struct mv_cesa_op_ctx *