Re: Fix ccp_run_passthru_cmd dma variable assignments
From: Tom Lendacky <thomas.lendacky@amd.com>
Date: 2014-01-24 20:17:21
Also in:
lkml
On 01/24/2014 12:39 PM, Dave Jones wrote:
There are some suspicious looking lines of code in the new ccp driver, including one that assigns a variable to itself, and another that overwrites a previous assignment. This may have been a cut-and-paste error where 'src' was forgotten to be changed to 'dst'. I have no hardware to test this, so this is untested.
Yes, this was a cut-and-paste error that was not discovered with my tests. I've updated my testcases and tested/verified this fix. Herbert, this should probably go through the cryptodev-2.6 tree right? Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Thanks, Tom
quoted hunk
Signed-off-by: Dave Jones <redacted>diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c index 71ed3ade7e12..c266a7b154bb 100644 --- a/drivers/crypto/ccp/ccp-ops.c +++ b/drivers/crypto/ccp/ccp-ops.c@@ -1666,8 +1666,8 @@ static int ccp_run_passthru_cmd(struct ccp_cmd_queue *cmd_q, op.dst.type = CCP_MEMTYPE_SYSTEM; op.dst.u.dma.address = sg_dma_address(dst.sg_wa.sg); - op.src.u.dma.offset = dst.sg_wa.sg_used; - op.src.u.dma.length = op.src.u.dma.length; + op.dst.u.dma.offset = dst.sg_wa.sg_used; + op.dst.u.dma.length = op.src.u.dma.length; ret = ccp_perform_passthru(&op); if (ret) {