Commit 9120c879 authored by Dave Jiang's avatar Dave Jiang Committed by Vinod Koul

dmaengine: idxd: free irq before wq type is reset

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: 63c14ae6 ("dmaengine: idxd: refactor wq driver enable/disable operations")
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/165231367316.986407.11001767338124941736.stgit@djiang5-desk3.ch.intel.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent cf4ac3fe
...@@ -1383,9 +1383,9 @@ void drv_disable_wq(struct idxd_wq *wq) ...@@ -1383,9 +1383,9 @@ void drv_disable_wq(struct idxd_wq *wq)
idxd_wq_free_resources(wq); idxd_wq_free_resources(wq);
idxd_wq_unmap_portal(wq); idxd_wq_unmap_portal(wq);
idxd_wq_drain(wq); idxd_wq_drain(wq);
idxd_wq_free_irq(wq);
idxd_wq_reset(wq); idxd_wq_reset(wq);
percpu_ref_exit(&wq->wq_active); percpu_ref_exit(&wq->wq_active);
idxd_wq_free_irq(wq);
wq->type = IDXD_WQT_NONE; wq->type = IDXD_WQT_NONE;
wq->client_count = 0; wq->client_count = 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment