crypto: ccp - Update the command queue on errors
Subsystems (2)
PATCH 1/1 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 <[email protected]>
--- drivers/crypto/ccp/ccp-dev-v5.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
drivers/crypto/ccp/ccp-dev-v5.c +5 -2
@@ -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)