crypto: ccp - Update the command queue on errors
Move the command queue tail pointer when an error is detected. Always return the error. Signed-off-by: Gary R Hook <gary.hook@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
a60496a0ca
commit
4cdf101ef4
|
@ -250,17 +250,20 @@ static int ccp5_do_cmd(struct ccp5_desc *desc,
|
|||
ret = wait_event_interruptible(cmd_q->int_queue,
|
||||
cmd_q->int_rcvd);
|
||||
if (ret || cmd_q->cmd_error) {
|
||||
/* Log the error and flush the queue by
|
||||
* moving the head pointer
|
||||
*/
|
||||
if (cmd_q->cmd_error)
|
||||
ccp_log_error(cmd_q->ccp,
|
||||
cmd_q->cmd_error);
|
||||
/* A version 5 device doesn't use Job IDs... */
|
||||
iowrite32(tail, cmd_q->reg_head_lo);
|
||||
if (!ret)
|
||||
ret = -EIO;
|
||||
}
|
||||
cmd_q->int_rcvd = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ccp5_perform_aes(struct ccp_op *op)
|
||||
|
|
Loading…
Reference in New Issue