drm/exynos: Fix double locks at PM resume
authorTakashi Iwai <tiwai@suse.de>
Fri, 9 May 2014 06:14:15 +0000 (08:14 +0200)
committerInki Dae <daeinki@gmail.com>
Sun, 1 Jun 2014 17:07:06 +0000 (02:07 +0900)
The recent commit [3ea87855: drm/helper: lock all around force mode
restore] introduced drm_modeset_lock_all() in
drm_helper_resume_force_mode() itself, while exynos driver takes this
lock before calling it.  Move the function call outside the lock for
avoiding a deadlock.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_drv.c

index d248d6e64424eccaf2db1d1b0e2193cb66ced294..4cef88ff35fd354a4fc5d8f0b997b206ff8e8169 100644 (file)
@@ -182,9 +182,9 @@ static int exynos_drm_resume(struct drm_device *dev)
                if (connector->funcs->dpms)
                        connector->funcs->dpms(connector, connector->dpms);
        }
+       drm_modeset_unlock_all(dev);
 
        drm_helper_resume_force_mode(dev);
-       drm_modeset_unlock_all(dev);
 
        return 0;
 }