提交 2f9048da 编写于 作者: T tanshukun 提交者: Xie XiuQi

crypto/hisilicon/qm: clear queues need protection of critical section

driver inclusion
category: bugfix
bugzilla: NA
CVE: NA

We always clear queues when reset, it is better to protect this operation
in critical section.

Feature or Bugfix:Bugfix
Signed-off-by: Ntanshukun (A) <tanshukun1@huawei.com>
Signed-off-by: Ntanshukun (A) <tanshukun1@huawei.com>
Reviewed-by: Nwangzhou <wangzhou1@hisilicon.com>
Reviewed-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 1d9e855e
......@@ -1259,7 +1259,6 @@ static int hpre_vf_reset_done(struct pci_dev *pdev)
if (pci_physfn(dev) == pdev) {
qm = &hpre->qm;
hisi_qm_clear_queues(qm);
ret = hisi_qm_restart(qm);
if (ret)
goto reset_fail;
......@@ -1277,7 +1276,6 @@ static int hpre_controller_reset_done(struct hpre *hpre)
struct pci_dev *pdev = qm->pdev;
int ret;
hisi_qm_clear_queues(qm);
ret = hpre_set_user_domain_and_cache(hpre);
if (ret)
return ret;
......@@ -1416,7 +1414,6 @@ static void hpre_reset_done(struct pci_dev *pdev)
struct device *dev = &pdev->dev;
int ret;
hisi_qm_clear_queues(qm);
ret = hisi_qm_restart(qm);
if (ret) {
dev_err(dev, "Failed to start QM!\n");
......
......@@ -2521,6 +2521,7 @@ int hisi_qm_stop(struct hisi_qm *qm, enum qm_stop_reason r)
}
}
hisi_qm_clear_queues(qm);
atomic_set(&qm->status.flags, QM_STOP);
err_unlock:
up_write(&qm->qps_lock);
......
......@@ -1215,7 +1215,6 @@ static int hisi_zip_vf_reset_done(struct hisi_zip *hisi_zip)
if (pci_physfn(dev) == pdev) {
qm = &hisi_zip->qm;
hisi_qm_clear_queues(qm);
ret = hisi_qm_restart(qm);
if (ret)
goto reset_fail;
......@@ -1233,8 +1232,6 @@ static int hisi_zip_controller_reset_done(struct hisi_zip *hisi_zip)
struct device *dev = &qm->pdev->dev;
int ret;
hisi_qm_clear_queues(qm);
hisi_zip_set_user_domain_and_cache(hisi_zip);
hisi_zip_hw_error_init(hisi_zip);
......@@ -1359,7 +1356,6 @@ static void hisi_zip_reset_done(struct pci_dev *pdev)
struct device *dev = &pdev->dev;
int ret;
hisi_qm_clear_queues(qm);
ret = hisi_qm_restart(qm);
if (ret) {
dev_err(dev, "Failed to start QM!\n");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册