Merge branch 'iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / mgag200 / mgag200_fb.c
index 4415af3666ab1116e0a07de45ffe1e272f5f4a9a..c36b8304042b70ddf109758b72e59bebe852ab4c 100644 (file)
@@ -303,14 +303,22 @@ int mgag200_fbdev_init(struct mga_device *mdev)
        if (ret)
                return ret;
 
-       drm_fb_helper_single_add_all_connectors(&mfbdev->helper);
+       ret = drm_fb_helper_single_add_all_connectors(&mfbdev->helper);
+       if (ret)
+               goto fini;
 
        /* disable all the possible outputs/crtcs before entering KMS mode */
        drm_helper_disable_unused_functions(mdev->dev);
 
-       drm_fb_helper_initial_config(&mfbdev->helper, bpp_sel);
+       ret = drm_fb_helper_initial_config(&mfbdev->helper, bpp_sel);
+       if (ret)
+               goto fini;
 
        return 0;
+
+fini:
+       drm_fb_helper_fini(&mfbdev->helper);
+       return ret;
 }
 
 void mgag200_fbdev_fini(struct mga_device *mdev)