diff options
author | Inki Dae <inki.dae@samsung.com> | 2014-11-06 09:00:37 -0500 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2014-11-10 00:40:07 -0500 |
commit | f7c2f36f4395f12d8ecb25c28ee88ec87b457089 (patch) | |
tree | 2db70f742362394dbc4496cc3c5c5fad0abdd6bb | |
parent | 06a2f5c2c4e0cb4ff38ca3769ae1f81cc2d030cf (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.c | 6 |
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 |