diff options
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fbdev.c')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 6 |
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; |