dmaengine: idxd: Add missing cleanup for early error out in idxd_setup_internals
authorShuai Xue <xueshuai@linux.alibaba.com>
Fri, 4 Apr 2025 12:02:12 +0000 (20:02 +0800)
committerVinod Koul <vkoul@kernel.org>
Wed, 14 May 2025 13:40:39 +0000 (14:40 +0100)
commit61259fb96e023f7299c442c48b13e72c441fc0f2
treefaf183aa7042ccafb319adcb241d2a639b2a8c2b
parentaa6f4f945b10eac57aed46154ae7d6fada7fccc7
dmaengine: idxd: Add missing cleanup for early error out in idxd_setup_internals

The idxd_setup_internals() is missing some cleanup when things fail in
the middle.

Add the appropriate cleanup routines:

- cleanup groups
- cleanup enginces
- cleanup wqs

to make sure it exits gracefully.

Fixes: defe49f96012 ("dmaengine: idxd: fix group conf_dev lifetime")
Cc: stable@vger.kernel.org
Suggested-by: Fenghua Yu <fenghuay@nvidia.com>
Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/20250404120217.48772-5-xueshuai@linux.alibaba.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/init.c