From: Minghao Chi Date: Fri, 13 May 2022 08:16:47 +0000 (+0000) Subject: RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() X-Git-Tag: 5.19-rc-smb3-client-fixes-part2~22^2~17 X-Git-Url: http://git.samba.org/samba.git/?a=commitdiff_plain;h=845517ed04aec32065febd2e2afa3902ebabaf54;p=sfrench%2Fcifs-2.6.git 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 Signed-off-by: Minghao Chi Acked-by: Michal KalderonĀ  Signed-off-by: Jason Gunthorpe --- 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]); } }