diff options
author | Dave Jiang <dave.jiang@intel.com> | 2022-04-11 15:06:34 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-04-27 14:38:54 +0200 |
commit | 6b9a418d3850dd7d87a9168da973e8843a219476 (patch) | |
tree | 4cad13ee2d3d97e69fd66f342b114318fad34828 /drivers/dma | |
parent | 49047fa486b3b226d75fda42321b8dc873f41fc4 (diff) | |
download | linux-stable-6b9a418d3850dd7d87a9168da973e8843a219476.tar.gz linux-stable-6b9a418d3850dd7d87a9168da973e8843a219476.tar.bz2 linux-stable-6b9a418d3850dd7d87a9168da973e8843a219476.zip |
dmaengine: idxd: skip clearing device context when device is read-only
[ Upstream commit 1cd8e751d96c43ece3f6842ac2244a37d9332c3a ]
If the device shows up as read-only configuration, skip the clearing of the
state as the context must be preserved for device re-enable after being
disabled.
Fixes: 0dcfe41e9a4c ("dmanegine: idxd: cleanup all device related bits after disabling device")
Reported-by: Tony Zhu <tony.zhu@intel.com>
Tested-by: Tony Zhu <tony.zhu@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/164971479479.2200566.13980022473526292759.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/idxd/device.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index a67bafc596b7..e622245c9380 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -730,6 +730,9 @@ static void idxd_device_wqs_clear_state(struct idxd_device *idxd) void idxd_device_clear_state(struct idxd_device *idxd) { + if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) + return; + idxd_groups_clear_state(idxd); idxd_engines_clear_state(idxd); idxd_device_wqs_clear_state(idxd); |