Call drm_fb_helper_init() in the generic-fbdev hotplug helper
to revert the effects of drm_fb_helper_init(). No full cleanup
is required.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/drm_fbdev_generic.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_fbdev_generic.c 
b/drivers/gpu/drm/drm_fbdev_generic.c
index 6ae014040df3..dd8be5e0f271 100644
--- a/drivers/gpu/drm/drm_fbdev_generic.c
+++ b/drivers/gpu/drm/drm_fbdev_generic.c
@@ -387,25 +387,21 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev 
*client)
 
        ret = drm_fb_helper_init(dev, fb_helper);
        if (ret)
-               goto err;
+               goto err_drm_err;
 
        if (!drm_drv_uses_atomic_modeset(dev))
                drm_helper_disable_unused_functions(dev);
 
        ret = drm_fb_helper_initial_config(fb_helper);
        if (ret)
-               goto err_cleanup;
+               goto err_drm_fb_helper_fini;
 
        return 0;
 
-err_cleanup:
-       drm_fbdev_cleanup(fb_helper);
-err:
-       fb_helper->dev = NULL;
-       fb_helper->info = NULL;
-
+err_drm_fb_helper_fini:
+       drm_fb_helper_fini(fb_helper);
+err_drm_err:
        drm_err(dev, "fbdev: Failed to setup generic emulation (ret=%d)\n", 
ret);
-
        return ret;
 }
 
-- 
2.39.0

Reply via email to