summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2014-10-10 14:31:53 +0200
committerInki Dae <daeinki@gmail.com>2014-11-03 01:51:28 +0900
commit64f7aed83d776956d68afd5dad8bdc7824a5b843 (patch)
treed938e2479609dbe899f2342da2544bf3fe3198a4 /drivers/gpu/drm
parent9887e2d9da7f8e5a4dc883ba3156874efe10eb95 (diff)
downloadlinux-64f7aed83d776956d68afd5dad8bdc7824a5b843.tar.bz2
drm/exynos: propagate plane initialization errors
In case of error during plane initialization load callback incorrectly return success, this patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 510d7cbb79a5..23fbad5a504a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -87,8 +87,11 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
plane = exynos_plane_init(dev, possible_crtcs,
DRM_PLANE_TYPE_OVERLAY);
- if (IS_ERR(plane))
- goto err_mode_config_cleanup;
+ if (!IS_ERR(plane))
+ continue;
+
+ ret = PTR_ERR(plane);
+ goto err_mode_config_cleanup;
}
/* init kms poll for handling hpd */