From: Ville Syrjälä Date: Mon, 2 Dec 2013 09:08:06 +0000 (+0200) Subject: drm/i915: Take modeset locks around intel_modeset_setup_hw_state() X-Git-Tag: firefly_0821_release~3679^2~3212 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5c9dce6be58638a8457cf8ad6e84c5d4fe7431d6;p=firefly-linux-kernel-4.4.55.git drm/i915: Take modeset locks around intel_modeset_setup_hw_state() commit 027476642811f8559cbe00ef6cc54db230e48a20 upstream. Some lower level things get angry if we don't have modeset locks during intel_modeset_setup_hw_state(). Actually the resume and lid_notify codepaths alreday hold the locks, but the init codepath doesn't, so fix that. Note: This slipped through since we only disable pipes if the plane/pipe linking doesn't match. Which is only relevant on older gen3 mobile machines, if the BIOS fails to set up our preferred linking. Signed-off-by: Ville Syrjälä Tested-and-reported-by: Paul Bolle [danvet: Add note now that I could confirm my theory with the log files Paul Bolle provided.] Signed-off-by: Daniel Vetter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f1e600490bb2..c37dfe2a6dc8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -9456,7 +9456,9 @@ void intel_modeset_gem_init(struct drm_device *dev) intel_setup_overlay(dev); + drm_modeset_lock_all(dev); intel_modeset_setup_hw_state(dev, false); + drm_modeset_unlock_all(dev); } void intel_modeset_cleanup(struct drm_device *dev)