aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2012-03-23 08:52:58 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-03 04:37:37 -0400
commit927a2f119e8235238a2fc64871051b16c9bdae75 (patch)
tree982fd48fc0a39dd5ce0e073b3475283219bd11a7 /drivers/gpu/drm
parente02f14cd48a5da0ebaecf88c93dbd54a81e0dead (diff)
drm/i915: Add lock on drm_helper_resume_force_mode
i915_drm_thaw was not locking the mode_config lock when calling drm_helper_resume_force_mode. When there were multiple wake sources, this caused FDI training failure on SNB which in turn corrupted the display. Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 19d55bc54873..dfa55e7478fb 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -538,7 +538,9 @@ static int i915_drm_thaw(struct drm_device *dev)
538 drm_irq_install(dev); 538 drm_irq_install(dev);
539 539
540 /* Resume the modeset for every activated CRTC */ 540 /* Resume the modeset for every activated CRTC */
541 mutex_lock(&dev->mode_config.mutex);
541 drm_helper_resume_force_mode(dev); 542 drm_helper_resume_force_mode(dev);
543 mutex_unlock(&dev->mode_config.mutex);
542 544
543 if (IS_IRONLAKE_M(dev)) 545 if (IS_IRONLAKE_M(dev))
544 ironlake_enable_rc6(dev); 546 ironlake_enable_rc6(dev);