This is needed to be able to send page flip completion events.
Also while I'm at it, fix the error paths on init.

Signed-off-by: St?phane Marchesin <marcheu at chromium.org>
---
 drivers/gpu/drm/udl/udl_main.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
index e1038a9..40436db 100644
--- a/drivers/gpu/drm/udl/udl_main.c
+++ b/drivers/gpu/drm/udl/udl_main.c
@@ -307,10 +307,23 @@ int udl_driver_load(struct drm_device *dev, unsigned long 
flags)

        DRM_DEBUG("\n");
        ret = udl_modeset_init(dev);
+       if (ret)
+               goto err;

        ret = udl_fbdev_init(dev);
+       if (ret)
+               goto err;
+
+       ret = drm_vblank_init(dev, 1);
+       if (ret)
+               goto err_fb;
+
        return 0;
+err_fb:
+       udl_fbdev_cleanup(dev);
 err:
+       if (udl->urbs.count)
+               udl_free_urb_list(dev);
        kfree(udl);
        DRM_ERROR("%d\n", ret);
        return ret;
@@ -326,6 +339,8 @@ int udl_driver_unload(struct drm_device *dev)
 {
        struct udl_device *udl = dev->dev_private;

+       drm_vblank_cleanup(dev);
+
        if (udl->urbs.count)
                udl_free_urb_list(dev);

-- 
2.0.0.526.g5318336

Reply via email to