summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fbdev.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fbdev.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
index 4366dc5032e..1f4b3d1a771 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
@@ -393,6 +393,10 @@ int exynos_drm_fbdev_reinit(struct drm_device *dev)
if (!private)
return -EINVAL;
+ /*
+ * if all sub drivers were unloaded then num_connector is 0
+ * so at this time, the framebuffers also should be destroyed.
+ */
if (!dev->mode_config.num_connector) {
exynos_drm_fbdev_fini(dev);
return 0;
@@ -429,7 +433,7 @@ int exynos_drm_fbdev_reinit(struct drm_device *dev)
* re-configure the fb helper. it means that this function
* has been called by the specific drivers.
*/
- return exynos_drm_fbdev_init(dev);
+ ret = exynos_drm_fbdev_init(dev);
}
return ret;