drm/exynos: resolve infinite loop issue on non multi-platform
authorInki Dae <inki.dae@samsung.com>
Thu, 6 Nov 2014 14:00:37 +0000 (23:00 +0900)
committerInki Dae <inki.dae@samsung.com>
Mon, 24 Nov 2014 09:02:48 +0000 (18:02 +0900)
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>
drivers/gpu/drm/exynos/exynos_drm_drv.c

index d41aae0dcc6086ec6ab9f5175cc483f4661ddbbe..b8abbc4a3d8ba7e0baebd0ee2d2b3970d6d3f543 100644 (file)
@@ -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