diff options
author | Minghao Chi <chi.minghao@zte.com.cn> | 2022-05-13 10:16:47 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2022-05-17 13:53:30 +0200 |
commit | 845517ed04aec32065febd2e2afa3902ebabaf54 (patch) | |
tree | ab625d051d891a39418c653716996360e4514075 | |
parent | RDMA/hns: Use hr_reg_read() instead of remaining roce_get_xxx() (diff) | |
download | linux-845517ed04aec32065febd2e2afa3902ebabaf54.tar.xz linux-845517ed04aec32065febd2e2afa3902ebabaf54.zip |
RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq()
Calling synchronize_irq() right before free_irq() is quite useless. On one
hand the IRQ can easily fire again before free_irq() is entered, on the
other hand free_irq() itself calls synchronize_irq() internally (in a race
condition free way), before any state associated with the IRQ is freed.
Link: https://lore.kernel.org/r/20220513081647.1631141-1-chi.minghao@zte.com.cn
Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Acked-by: Michal KalderonĀ <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
-rw-r--r-- | drivers/infiniband/hw/qedr/main.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c index 65ce6d0f1885..5152f10d2e6d 100644 --- a/drivers/infiniband/hw/qedr/main.c +++ b/drivers/infiniband/hw/qedr/main.c @@ -500,7 +500,6 @@ static void qedr_sync_free_irqs(struct qedr_dev *dev) if (dev->int_info.msix_cnt) { idx = i * dev->num_hwfns + dev->affin_hwfn_idx; vector = dev->int_info.msix[idx].vector; - synchronize_irq(vector); free_irq(vector, &dev->cnq_array[i]); } } |