diff options
author | Inki Dae <inki.dae@samsung.com> | 2014-11-06 23:00:37 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2014-11-10 14:40:07 +0900 |
commit | f7c2f36f4395f12d8ecb25c28ee88ec87b457089 (patch) | |
tree | 2db70f742362394dbc4496cc3c5c5fad0abdd6bb /drivers/gpu | |
parent | 06a2f5c2c4e0cb4ff38ca3769ae1f81cc2d030cf (diff) | |
download | linux-f7c2f36f4395f12d8ecb25c28ee88ec87b457089.tar.bz2 |
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>
Diffstat (limited to 'drivers/gpu')
-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) mutex_lock(&drm_component_lock); + /* Do not retry to probe if there is no any kms driver regitered. */ + if (list_empty(&drm_component_list)) { + mutex_unlock(&drm_component_lock); + return ERR_PTR(-ENODEV); + } + list_for_each_entry(cdev, &drm_component_list, list) { /* * Add components to master only in case that crtc and |