Commit 59fc40d3 authored by Xiangyu Xu's avatar Xiangyu Xu Committed by yangdepei
Browse files

crypto: ccp: Fix a problem that vq thread may stuck when do multi process test.

hygon inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I99ZNA



--------------------------------

we shuld clear interrupt status before set int_revd flag, otherwise, it
will cause vq thread stuck when process multi command.
Fixes: 4b394a23 ("crypto: ccp - Let a v5 CCP provide the same function as v3")

Signed-off-by: default avatarXiangyu Xu <xuxiangyu@hygon.cn>
Signed-off-by: default avatarYabin Li <liyabin@hygon.cn>
Signed-off-by: default avataryangdepei <yangdepei@hygon.cn>
parent ba43c59a
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -944,10 +944,9 @@ static void ccp5_irq_bh(unsigned long data)
			if ((status & INT_ERROR) && !cmd_q->cmd_error)
				cmd_q->cmd_error = CMD_Q_ERROR(cmd_q->q_status);

			cmd_q->int_rcvd = 1;

			/* Acknowledge the interrupt and wake the kthread */
			iowrite32(status, cmd_q->reg_interrupt_status);
			cmd_q->int_rcvd = 1;
			wake_up_interruptible(&cmd_q->int_queue);
		}
	}