Skip to content

Commit 695b491

Browse files
vcgomesgregkh
authored andcommitted
dmaengine: idxd: Fix leaking event log memory
[ Upstream commit ee66bc2 ] During the device remove process, the device is reset, causing the configuration registers to go back to their default state, which is zero. As the driver is checking if the event log support was enabled before deallocating, it will fail if a reset happened before. Do not check if the support was enabled, the check for 'idxd->evl' being valid (only allocated if the HW capability is available) is enough. Fixes: 244da66 ("dmaengine: idxd: setup event log configuration") Reviewed-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Link: https://patch.msgid.link/20260121-idxd-fix-flr-on-kernel-queues-v3-v3-10-7ed70658a9d1@intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Wenshan Lan <jetlan9@163.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 5ba95b1 commit 695b491

1 file changed

Lines changed: 0 additions & 4 deletions

File tree

drivers/dma/idxd/device.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -813,10 +813,6 @@ static void idxd_device_evl_free(struct idxd_device *idxd)
813813
if (!evl)
814814
return;
815815

816-
gencfg.bits = ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET);
817-
if (!gencfg.evl_en)
818-
return;
819-
820816
mutex_lock(&evl->lock);
821817
gencfg.evl_en = 0;
822818
iowrite32(gencfg.bits, idxd->reg_base + IDXD_GENCFG_OFFSET);

0 commit comments

Comments
 (0)