Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dmaengine: idxd: Fix leaking event log memory

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: 244da66cda35 ("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>

authored by

Vinicius Costa Gomes and committed by
Vinod Koul
ee66bc29 c311f5e9

-4
-4
drivers/dma/idxd/device.c
··· 834 834 if (!evl) 835 835 return; 836 836 837 - gencfg.bits = ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET); 838 - if (!gencfg.evl_en) 839 - return; 840 - 841 837 mutex_lock(&evl->lock); 842 838 gencfg.evl_en = 0; 843 839 iowrite32(gencfg.bits, idxd->reg_base + IDXD_GENCFG_OFFSET);