summaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorTom Lendacky <thomas.lendacky@amd.com>2014-02-24 08:42:08 -0600
committerHerbert Xu <herbert@gondor.apana.org.au>2014-02-27 05:57:00 +0800
commit950b10bae656d7edf5e2047bf0c9205980f49f2c (patch)
treedfacda484d4c76885e129bec9254ed5da892515d /drivers/crypto
parent0611451b4e78ecb77b3323657f2ab4aadd6d28b3 (diff)
downloadlinux-950b10bae656d7edf5e2047bf0c9205980f49f2c.tar.bz2
crypto: ccp - Invoke context callback when there is a backlog error
Invoke the callback routine associated with the crypto context if an error is encountered sending the command to the CCP during backlog processing. This is needed to free any resources used by the command. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/ccp/ccp-crypto-main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/crypto/ccp/ccp-crypto-main.c b/drivers/crypto/ccp/ccp-crypto-main.c
index 9d30d6fbfd3d..7d98635c2c5e 100644
--- a/drivers/crypto/ccp/ccp-crypto-main.c
+++ b/drivers/crypto/ccp/ccp-crypto-main.c
@@ -183,6 +183,9 @@ static void ccp_crypto_complete(void *data, int err)
break;
/* Error occurred, report it and get the next entry */
+ ctx = crypto_tfm_ctx(held->req->tfm);
+ if (ctx->complete)
+ ret = ctx->complete(held->req, ret);
held->req->complete(held->req, ret);
next = ccp_crypto_cmd_complete(held, &backlog);