All of lore.kernel.org
 help / color / mirror / Atom feed
From: Raag Jadav <raag.jadav@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: riana.tauro@intel.com, michal.wajdeczko@intel.com,
	lukasz.laguna@intel.com, matthew.d.roper@intel.com,
	matthew.brost@intel.com, mallesh.koujalagi@intel.com,
	rodrigo.vivi@intel.com, Raag Jadav <raag.jadav@intel.com>
Subject: [PATCH v12 4/9] drm/xe: Move xe_device_wedged_fini() registration to xe_device_probe_early()
Date: Mon, 19 Oct 2026 08:06:35 +0530	[thread overview]
Message-ID: <20261019023708.128835-5-raag.jadav@intel.com> (raw)
In-Reply-To: <20261019023708.128835-1-raag.jadav@intel.com>

The device can be declared wedged while processing boot-time hardware
errors, which can result in PM reference leak if driver probe fails
before xe_device_wedged_fini() is registered.

Early register the required cleanup action and fix this.

Fixes: a7df563b45b0 ("drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors")
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
v2: Split fixes into separate patches (Rodrigo, Michal)
---
 drivers/gpu/drm/xe/xe_device.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index cf0235e57827..b185c7d33185 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -697,6 +697,8 @@ static int xe_device_vram_alloc(struct xe_device *xe)
 	return 0;
 }
 
+static void xe_device_wedged_fini(struct drm_device *drm, void *arg);
+
 /**
  * xe_device_probe_early: Device early probe
  * @xe: xe device instance
@@ -765,6 +767,10 @@ int xe_device_probe_early(struct xe_device *xe)
 	if (err)
 		return err;
 
+	err = drmm_add_action_or_reset(&xe->drm, xe_device_wedged_fini, xe);
+	if (err)
+		return err;
+
 	return 0;
 }
 ALLOW_ERROR_INJECTION(xe_device_probe_early, ERRNO); /* See xe_pci_probe() */
@@ -1099,10 +1105,6 @@ int xe_device_probe(struct xe_device *xe)
 
 	detect_preproduction_hw(xe);
 
-	err = drmm_add_action_or_reset(&xe->drm, xe_device_wedged_fini, xe);
-	if (err)
-		goto err_unregister_display;
-
 	/*
 	 * Process and log any errors detected by hardware. Possible results can
 	 * include declaring the device as wedged, which must be done only after
-- 
2.43.0


  parent reply	other threads:[~2026-10-19  2:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-19  2:36 [PATCH v12 0/9] Introduce xe_wedge Raag Jadav
2026-10-19  2:36 ` [PATCH v12 1/9] drm/xe/gt: Use GT ordered workqueue for wedging Raag Jadav
2026-10-19  3:18   ` sashiko-bot
2026-10-19  2:36 ` [PATCH v12 2/9] drm/xe: Drop xe_device_set_wedged_method() Raag Jadav
2026-10-19  2:36 ` [PATCH v12 3/9] drm/xe/hw_error: Guard csc_hw_error_work() with runtime PM Raag Jadav
2026-10-19  2:36 ` Raag Jadav [this message]
2026-10-19  2:36 ` [PATCH v12 5/9] drm/xe: Make xe_device_declare_wedged() IRQ safe Raag Jadav
2026-10-19  2:36 ` [PATCH v12 6/9] drm/xe/pci_error: Flush GT wedge worker before bus reset Raag Jadav
2026-10-19  2:36 ` [PATCH v12 7/9] drm/xe/amc: Guard xe_amc_work() with runtime PM Raag Jadav
2026-10-19  2:36 ` [PATCH v12 8/9] drm/xe: Introduce xe_wedge Raag Jadav
2026-10-19  2:36 ` [PATCH v12 9/9] drm/xe/ras: Move xe_ras_process_errors() to xe_ras Raag Jadav
2026-10-19  2:48   ` sashiko-bot
2026-10-19  7:18 ` ✗ CI.checkpatch: warning for Introduce xe_wedge (rev11) Patchwork
2026-10-19  7:20 ` ✓ CI.KUnit: success " Patchwork
2026-10-19  8:01 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-19  9:27 ` ✗ Xe.CI.FULL: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261019023708.128835-5-raag.jadav@intel.com \
    --to=raag.jadav@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lukasz.laguna@intel.com \
    --cc=mallesh.koujalagi@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=michal.wajdeczko@intel.com \
    --cc=riana.tauro@intel.com \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.