summary refs log tree commit diff
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
parent9887e2d9da7f8e5a4dc883ba3156874efe10eb95 (diff)
downloadlinux-64f7aed83d776956d68afd5dad8bdc7824a5b843.tar.gz
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>
-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 */