All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5.15.y] drm/i915/gt: Cleanup partial engine discovery failures
@ 2025-04-09  1:48 Zhi Yang
  2025-04-10 15:55 ` Sasha Levin
  2025-04-14 20:41 ` ✗ LGCI.VerificationFailed: failure for drm/i915/gt: Cleanup partial engine discovery failures (rev2) Patchwork
  0 siblings, 2 replies; 3+ messages in thread
From: Zhi Yang @ 2025-04-09  1:48 UTC (permalink / raw)
  To: stable, chris.p.wilson
  Cc: xiangyu.chen, zhe.he, jani.nikula, joonas.lahtinen, rodrigo.vivi,
	airlied, daniel, matthew.d.roper, Zhi.Yang, janusz.krzysztofik,
	intel-gfx, dri-devel, linux-kernel

From: Chris Wilson <chris.p.wilson@intel.com>

commit 78a033433a5ae4fee85511ee075bc9a48312c79e upstream.

If we abort driver initialisation in the middle of gt/engine discovery,
some engines will be fully setup and some not. Those incompletely setup
engines only have 'engine->release == NULL' and so will leak any of the
common objects allocated.

v2:
 - Drop the destroy_pinned_context() helper for now.  It's not really
   worth it with just a single callsite at the moment.  (Janusz)

Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220915232654.3283095-2-matthew.d.roper@intel.com
Signed-off-by: Zhi Yang <Zhi.Yang@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
Build test passed.
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index eb99441e0ada..42cb3ad04d89 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -983,8 +983,13 @@ int intel_engines_init(struct intel_gt *gt)
 			return err;
 
 		err = setup(engine);
-		if (err)
+		if (err) {
+			intel_engine_cleanup_common(engine);
 			return err;
+		}
+
+		/* The backend should now be responsible for cleanup */
+		GEM_BUG_ON(engine->release == NULL);
 
 		err = engine_init_common(engine);
 		if (err)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-14 20:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09  1:48 [PATCH 5.15.y] drm/i915/gt: Cleanup partial engine discovery failures Zhi Yang
2025-04-10 15:55 ` Sasha Levin
2025-04-14 20:41 ` ✗ LGCI.VerificationFailed: failure for drm/i915/gt: Cleanup partial engine discovery failures (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.