diff mbox series

dmaengine: idxd: free irq before wq type is reset

Message ID 165231367316.986407.11001767338124941736.stgit@djiang5-desk3.ch.intel.com (mailing list archive)
State Accepted
Commit 9120c879d28873829dfa2f511c68162d52540e6a
Headers show
Series dmaengine: idxd: free irq before wq type is reset | expand

Commit Message

Dave Jiang May 12, 2022, 12:01 a.m. UTC
Call idxd_wq_free_irq() in the drv_disable_wq() function before
idxd_wq_reset() is called. Otherwise the wq type is reset and the irq does
not get freed.

Fixes: 63c14ae6c161 ("dmaengine: idxd: refactor wq driver enable/disable operations")
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/dma/idxd/device.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vinod Koul May 16, 2022, 12:50 p.m. UTC | #1
On 11-05-22, 17:01, Dave Jiang wrote:
> Call idxd_wq_free_irq() in the drv_disable_wq() function before
> idxd_wq_reset() is called. Otherwise the wq type is reset and the irq does
> not get freed.

Applied, thanks
diff mbox series

Patch

diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c
index 4617219376f7..d1dba2a3af5d 100644
--- a/drivers/dma/idxd/device.c
+++ b/drivers/dma/idxd/device.c
@@ -1385,9 +1385,9 @@  void drv_disable_wq(struct idxd_wq *wq)
 	idxd_wq_free_resources(wq);
 	idxd_wq_unmap_portal(wq);
 	idxd_wq_drain(wq);
+	idxd_wq_free_irq(wq);
 	idxd_wq_reset(wq);
 	percpu_ref_exit(&wq->wq_active);
-	idxd_wq_free_irq(wq);
 	wq->type = IDXD_WQT_NONE;
 	wq->client_count = 0;
 }