Skip to content

Commit 5f8dec2

Browse files
lumagmripard
authored andcommitted
drm/drv: propagate errors from drm_modeset_register_all()
In case the drm_modeset_register_all() function fails, its error code will be ignored. Instead make the drm_dev_register() bail out in case of such an error. Fixes: 79190ea ("drm: Add callbacks for late registering") Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Maxime Ripard <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 72ef65a commit 5f8dec2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/gpu/drm/drm_drv.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -949,8 +949,11 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
949949
goto err_minors;
950950
}
951951

952-
if (drm_core_check_feature(dev, DRIVER_MODESET))
953-
drm_modeset_register_all(dev);
952+
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
953+
ret = drm_modeset_register_all(dev);
954+
if (ret)
955+
goto err_unload;
956+
}
954957

955958
DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n",
956959
driver->name, driver->major, driver->minor,
@@ -960,6 +963,9 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
960963

961964
goto out_unlock;
962965

966+
err_unload:
967+
if (dev->driver->unload)
968+
dev->driver->unload(dev);
963969
err_minors:
964970
remove_compat_control_link(dev);
965971
drm_minor_unregister(dev, DRM_MINOR_ACCEL);

0 commit comments

Comments
 (0)