[PATCH] drm: reset dev->registered on drm_dev_register() error path
| Newsgroups | org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Shixiong Ou <[email protected]> drm_dev_register() sets dev->registered = true before calling drm_modeset_register_all(), but the error path does not reset it. This triggers a spurious WARN_ON in drm_mode_object_unregister() during teardown of drmm-managed resources after a failed probe. Observed on hibmc-drm where drm_modeset_register_all() fails with -ENOENT from connector registration, producing: hibmc-drm 0000:22:00.0: [drm] *ERROR* failed to register drv for userspace access: -2 WARNING: CPU: 32 PID: 2887 at drm_mode_object_unregister+0x9c/0xb0 Signed-off-by: Shixiong Ou <[email protected]> --- drivers/gpu/drm/drm_drv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 1ff0bf7cba6a..4497af8c9d1c 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -1120,6 +1120,7 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags) if (dev->driver->unload) dev->driver->unload(dev); err_minors: + dev->registered = false; remove_compat_control_link(dev); drm_minor_unregister(dev, DRM_MINOR_ACCEL); drm_minor_unregister(dev, DRM_MINOR_PRIMARY); -- 2.25.1 No virus found Checked by Hillstone Network AntiVirus