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

Commit 7759995c authored by Phil Sutter's avatar Phil Sutter Committed by Herbert Xu
Browse files

crypto: mv_cesa - copy remaining bytes to SRAM only when needed

parent 86523487
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -525,12 +525,6 @@ static void mv_start_new_hash_req(struct ahash_request *req)
	hw_bytes = req->nbytes + ctx->extra_bytes;
	old_extra_bytes = ctx->extra_bytes;

	if (unlikely(ctx->extra_bytes)) {
		memcpy(cpg->sram + SRAM_DATA_IN_START, ctx->buffer,
		       ctx->extra_bytes);
		p->crypt_len = ctx->extra_bytes;
	}

	ctx->extra_bytes = hw_bytes % SHA1_BLOCK_SIZE;
	if (ctx->extra_bytes != 0
	    && (!ctx->last_chunk || ctx->count > MAX_HW_HASH_SIZE))
@@ -546,6 +540,12 @@ static void mv_start_new_hash_req(struct ahash_request *req)
		p->complete = mv_hash_algo_completion;
		p->process = mv_process_hash_current;

		if (unlikely(old_extra_bytes)) {
			memcpy(cpg->sram + SRAM_DATA_IN_START, ctx->buffer,
			       old_extra_bytes);
			p->crypt_len = old_extra_bytes;
		}

		mv_process_hash_current(1);
	} else {
		copy_src_to_buf(p, ctx->buffer + old_extra_bytes,