RDMA/hns: Remove unnecessary flush operation for workqueue
authorYixian Liu <liuyixian@huawei.com>
Tue, 13 Apr 2021 09:11:27 +0000 (17:11 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 13 Apr 2021 16:06:25 +0000 (13:06 -0300)
As a flush operation is implemented inside destroy_workqueue(), there is
no need to do flush operation before.

Fixes: bfcc681bd09d ("IB/hns: Fix the bug when free mr")
Fixes: 0425e3e6e0c7 ("RDMA/hns: Support flush cqe for hip08 in kernel space")
Link: https://lore.kernel.org/r/1618305087-30799-1-git-send-email-liweihang@huawei.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_hw_v1.c
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 8a3fe6d90b795a7eb18e4e0ce12805629cb68a61..620acf66b22cc3519e8490965ac42f3f0c99c430 100644 (file)
@@ -1382,7 +1382,6 @@ static int hns_roce_free_mr_init(struct hns_roce_dev *hr_dev)
        ret = hns_roce_v1_rsv_lp_qp(hr_dev);
        if (ret) {
                dev_err(dev, "Reserved loop qp failed(%d)!\n", ret);
-               flush_workqueue(free_mr->free_mr_wq);
                destroy_workqueue(free_mr->free_mr_wq);
        }
 
@@ -1394,7 +1393,6 @@ static void hns_roce_free_mr_free(struct hns_roce_dev *hr_dev)
        struct hns_roce_v1_priv *priv = hr_dev->priv;
        struct hns_roce_free_mr *free_mr = &priv->free_mr;
 
-       flush_workqueue(free_mr->free_mr_wq);
        destroy_workqueue(free_mr->free_mr_wq);
 
        hns_roce_v1_release_lp_qp(hr_dev);
index 1b05ebe5857267e0633a79004d306781a3429006..79c535e5b13952b94884dcaf5469b0409dde9cd1 100644 (file)
@@ -6404,7 +6404,6 @@ static void hns_roce_v2_cleanup_eq_table(struct hns_roce_dev *hr_dev)
        hns_roce_v2_int_mask_enable(hr_dev, eq_num, EQ_DISABLE);
 
        __hns_roce_free_irq(hr_dev);
-       flush_workqueue(hr_dev->irq_workq);
        destroy_workqueue(hr_dev->irq_workq);
 
        for (i = 0; i < eq_num; i++) {