提交 5042b422 编写于 作者: W Weili Qian 提交者: JiangShui Yang

crypto: hisilicon/qm - prevent soft lockup in qm_poll_req_cb()'s loop

driver inclusion
category:feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I6DRLU
CVE: NA

The function qm_poll_req_cb() may take a while due to
complex req_cb, so soft lockup may occur in kernel
with preemption disabled.

Add a cond_resched() to prevent that.
Signed-off-by: NWeili Qian <qianweili@huawei.com>
Signed-off-by: NJiangShui Yang <yangjiangshui@h-partners.com>
Reviewed-by: NXiu Jianfeng <xiujianfeng@huawei.com>
上级 bae82cd6
......@@ -863,6 +863,8 @@ static void qm_poll_req_cb(struct hisi_qp *qp)
qm_db(qm, qp->qp_id, QM_DOORBELL_CMD_CQ,
qp->qp_status.cq_head, 0);
atomic_dec(&qp->qp_status.used);
cond_resched();
}
/* set c_flag */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册