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 86fa4b4590f9431550bdfd06c40545a5bc068e91..21f0d732b76ee0fc9e8f8179a633057dfd9c9555 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);
 }