Messages in this thread Patch in this message | | | From | cgel.zte@gmail ... | Subject | [PATCH] dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq() | Date | Fri, 13 May 2022 08:16:22 +0000 |
| |
From: Minghao Chi <chi.minghao@zte.com.cn>
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> --- drivers/dma/idxd/device.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 5363fb9218f2..9dd8e6bb21e6 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -1179,7 +1179,6 @@ void idxd_wq_free_irq(struct idxd_wq *wq) struct idxd_device *idxd = wq->idxd; struct idxd_irq_entry *ie = &wq->ie; - synchronize_irq(ie->vector); free_irq(ie->vector, ie); idxd_flush_pending_descs(ie); if (idxd->request_int_handles) -- 2.25.1
| |