dmaengine: idxd: clear block on fault flag when clear wq
authorDave Jiang <dave.jiang@intel.com>
Tue, 3 Aug 2021 22:37:15 +0000 (15:37 -0700)
committerVinod Koul <vkoul@kernel.org>
Fri, 6 Aug 2021 13:53:06 +0000 (19:23 +0530)
The block on fault flag is not cleared when we disable or reset wq. This
causes it to remain set if the user does not clear it on the next
configuration load. Add clear of flag in dxd_wq_disable_cleanup()
routine.

Fixes: da32b28c95a7 ("dmaengine: idxd: cleanup workqueue config after disabling")
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/162803023553.3086015.8158952172068868803.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/device.c

index 86fa4b4..21f0d73 100644 (file)
@@ -402,6 +402,7 @@ static void idxd_wq_disable_cleanup(struct idxd_wq *wq)
        wq->priority = 0;
        wq->ats_dis = 0;
        clear_bit(WQ_FLAG_DEDICATED, &wq->flags);
+       clear_bit(WQ_FLAG_BLOCK_ON_FAULT, &wq->flags);
        memset(wq->name, 0, WQ_NAME_SIZE);
 }