Don't leave a stale xe->display pointer hanging around after
the display driver has been torn down.
While xe shouldn't hit the display reset related issue that
affects i915, leaving stale pointer floating around still
seems like a bad idea.
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260415210411.24750-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
static void display_device_remove(struct drm_device *dev, void *arg)
{
- struct intel_display *display = arg;
+ struct xe_device *xe = arg;
- intel_display_device_remove(display);
+ intel_display_device_remove(xe->display);
+ xe->display = NULL;
}
static bool irq_enabled(struct drm_device *drm)
if (IS_ERR(display))
return PTR_ERR(display);
- err = drmm_add_action_or_reset(&xe->drm, display_device_remove, display);
+ xe->display = display;
+
+ err = drmm_add_action_or_reset(&xe->drm, display_device_remove, xe);
if (err)
return err;
- xe->display = display;
-
if (intel_display_device_present(display))
return 0;