diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index dee5e4f8f4269d67eb764ece4849eb48f502912e..8b1f8591ae83368bf784dd894d579c809be55339 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -1176,6 +1176,9 @@ void idxd_wq_free_irq(struct idxd_wq *wq) struct idxd_device *idxd = wq->idxd; struct idxd_irq_entry *ie = &wq->ie; + if (wq->type != IDXD_WQT_KERNEL) + return; + synchronize_irq(ie->vector); free_irq(ie->vector, ie); idxd_flush_pending_descs(ie);