aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInki Dae <inki.dae@samsung.com>2014-11-06 09:00:37 -0500
committerInki Dae <inki.dae@samsung.com>2014-11-10 00:40:07 -0500
commitf7c2f36f4395f12d8ecb25c28ee88ec87b457089 (patch)
tree2db70f742362394dbc4496cc3c5c5fad0abdd6bb
parent06a2f5c2c4e0cb4ff38ca3769ae1f81cc2d030cf (diff)
drm/exynos: resolve infinite loop issue on non multi-platform
This patch resovles the infinite loop issue incurred when Exyno drm driver is enabled but all kms drivers are disabled on Exynos board by returning -EPROBE_DEFER only in case that there is kms device registered. Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index d41aae0dcc60..b8abbc4a3d8b 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -495,6 +495,12 @@ static struct component_match *exynos_drm_match_add(struct device *dev)
495 495
496 mutex_lock(&drm_component_lock); 496 mutex_lock(&drm_component_lock);
497 497
498 /* Do not retry to probe if there is no any kms driver regitered. */
499 if (list_empty(&drm_component_list)) {
500 mutex_unlock(&drm_component_lock);
501 return ERR_PTR(-ENODEV);
502 }
503
498 list_for_each_entry(cdev, &drm_component_list, list) { 504 list_for_each_entry(cdev, &drm_component_list, list) {
499 /* 505 /*
500 * Add components to master only in case that crtc and 506 * Add components to master only in case that crtc and