net: qede: Remove unnecessary synchronize_irq() before free_irq()
authorMinghao Chi <chi.minghao@zte.com.cn>
Mon, 16 May 2022 08:22:51 +0000 (08:22 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 17 May 2022 11:04:16 +0000 (13:04 +0200)
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.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Link: https://lore.kernel.org/r/20220516082251.1651350-1-chi.minghao@zte.com.cn
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/qlogic/qede/qede_main.c

index b4e5a15e308b28b91fcaf6c419f091e3e748b2e7..f56b679adb4b6c7bcdde3f398005af0ada6bbead 100644 (file)
@@ -1916,7 +1916,6 @@ static void qede_sync_free_irqs(struct qede_dev *edev)
 
        for (i = 0; i < edev->int_info.used_cnt; i++) {
                if (edev->int_info.msix_cnt) {
-                       synchronize_irq(edev->int_info.msix[i].vector);
                        free_irq(edev->int_info.msix[i].vector,
                                 &edev->fp_array[i]);
                } else {