diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 77443759d5ec5da95197718566a37ef61cf87ecc..06cbca71cf268d039b9afccdcba72cdde60d815a 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -1179,6 +1179,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);