Message ID | 164919561905.1455025.13542366389944678346.stgit@djiang5-desk3.ch.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 12e45e89556d7a532120f976081e9e7582addd2b |
Headers | show |
Series | dmaengine: idxd: fix device cleanup on disable | expand |
On 05-04-22, 14:53, Dave Jiang wrote: > There are certain parts of WQ that needs to be cleaned up even after WQ is > disabled during the device disable. Those are the unchangeable parts for a > WQ when the device is still enabled. Move the cleanup outside of WQ state > check. Remove idxd_wq_disable_cleanup() inside idxd_wq_device_reset_cleanup() > since only the unchangeable parts need to be cleared. Applied, thanks
diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 3061fe857d69..5a0535a0f850 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -373,7 +373,6 @@ static void idxd_wq_device_reset_cleanup(struct idxd_wq *wq) { lockdep_assert_held(&wq->wq_lock); - idxd_wq_disable_cleanup(wq); wq->size = 0; wq->group = NULL; } @@ -701,9 +700,9 @@ static void idxd_device_wqs_clear_state(struct idxd_device *idxd) if (wq->state == IDXD_WQ_ENABLED) { idxd_wq_disable_cleanup(wq); - idxd_wq_device_reset_cleanup(wq); wq->state = IDXD_WQ_DISABLED; } + idxd_wq_device_reset_cleanup(wq); } }