[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220928154856.623545-1-jsnitsel@redhat.com>
Date: Wed, 28 Sep 2022 08:48:54 -0700
From: Jerry Snitselaar <jsnitsel@...hat.com>
To: linux-kernel@...r.kernel.org, dmaengine@...r.kernel.org
Cc: Fenghua Yu <fenghua.yu@...el.com>,
Dave Jiang <dave.jiang@...el.com>,
Vinod Koul <vkoul@...nel.org>
Subject: [PATCH v2 0/2] dmaengine: idxd: Fix up re-enabling device workqueues
Currently if a software reset is attempted on an idxd device
the workqueues will not be re-enabled, because it will see
incorrectly see that wq->state is already set to IDXD_WQ_ENABLED.
So set the workqueue state to disabled in idxd_wq_disable_cleanup(),
and use a bitmap to track which workqueues have been enabled so they
can be re-enabled during device re-initialization.
Changes from v1 to v2:
- Clear bit in case where idxd_wq_enable() fails during re-init.
Cc: Fenghua Yu <fenghua.yu@...el.com>
Cc: Dave Jiang <dave.jiang@...el.com>
Cc: Vinod Koul <vkoul@...nel.org>
Jerry Snitselaar (2):
dmaengine: idxd: Set wq state to disabled in idxd_wq_disable_cleanup()
dmaengine: idxd: track enabled workqueues in bitmap
drivers/dma/idxd/device.c | 4 +++-
drivers/dma/idxd/idxd.h | 2 ++
drivers/dma/idxd/init.c | 6 ++++++
drivers/dma/idxd/irq.c | 5 +++--
drivers/dma/idxd/sysfs.c | 1 +
5 files changed, 15 insertions(+), 3 deletions(-)
--
2.37.2
Powered by blists - more mailing lists