aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/ccp
diff options
context:
space:
mode:
authorTom Lendacky <thomas.lendacky@amd.com>2014-02-24 09:42:02 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2014-02-26 16:57:00 -0500
commit0611451b4e78ecb77b3323657f2ab4aadd6d28b3 (patch)
tree0b8ae396f8cf95d415bb5c0309ab7840613474a9 /drivers/crypto/ccp
parentf829e7a32c9434e31e565bc79f5804a7a984c10f (diff)
crypto: ccp - Prevent a possible lost CCP command request
If a CCP command has been queued for processing at the crypto layer then, when dequeueing it for processing, the "can backlog" flag must be set so that the request isn't lost if the CCP backlog queue limit is reached. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/ccp')
-rw-r--r--drivers/crypto/ccp/ccp-crypto-main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/crypto/ccp/ccp-crypto-main.c b/drivers/crypto/ccp/ccp-crypto-main.c
index 010fded5d46b..9d30d6fbfd3d 100644
--- a/drivers/crypto/ccp/ccp-crypto-main.c
+++ b/drivers/crypto/ccp/ccp-crypto-main.c
@@ -174,6 +174,10 @@ static void ccp_crypto_complete(void *data, int err)
174 174
175 /* Submit the next cmd */ 175 /* Submit the next cmd */
176 while (held) { 176 while (held) {
177 /* Since we have already queued the cmd, we must indicate that
178 * we can backlog so as not to "lose" this request.
179 */
180 held->cmd->flags |= CCP_CMD_MAY_BACKLOG;
177 ret = ccp_enqueue_cmd(held->cmd); 181 ret = ccp_enqueue_cmd(held->cmd);
178 if (ccp_crypto_success(ret)) 182 if (ccp_crypto_success(ret))
179 break; 183 break;