net: vxge: 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. Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Link: https://lore.kernel.org/r/20220516081914.1651281-1-chi.minghao@zte.com.cn Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
29fd3ca177
commit
bd81bfb5a1
@ -2405,7 +2405,6 @@ static void vxge_rem_msix_isr(struct vxgedev *vdev)
|
||||
for (intr_cnt = 0; intr_cnt < (vdev->no_of_vpath * 2 + 1);
|
||||
intr_cnt++) {
|
||||
if (vdev->vxge_entries[intr_cnt].in_use) {
|
||||
synchronize_irq(vdev->entries[intr_cnt].vector);
|
||||
free_irq(vdev->entries[intr_cnt].vector,
|
||||
vdev->vxge_entries[intr_cnt].arg);
|
||||
vdev->vxge_entries[intr_cnt].in_use = 0;
|
||||
@ -2427,7 +2426,6 @@ static void vxge_rem_isr(struct vxgedev *vdev)
|
||||
vdev->config.intr_type == MSI_X) {
|
||||
vxge_rem_msix_isr(vdev);
|
||||
} else if (vdev->config.intr_type == INTA) {
|
||||
synchronize_irq(vdev->pdev->irq);
|
||||
free_irq(vdev->pdev->irq, vdev);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user