drm/i915: only set the intel_crtc DPMS mode to on if the mode set succeeded
authorJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 15 Nov 2011 18:28:54 +0000 (10:28 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 3 Jan 2012 22:55:52 +0000 (14:55 -0800)
If it failed, leave it in the "off" state.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/intel_display.c

index bdab82b999e00983e8a97d8283819bd37e419240..29743dee54c23047342c5246c58efaac6f6cd7b9 100644 (file)
@@ -5984,10 +5984,12 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
 
        ret = dev_priv->display.crtc_mode_set(crtc, mode, adjusted_mode,
                                              x, y, old_fb);
-
        drm_vblank_post_modeset(dev, pipe);
 
-       intel_crtc->dpms_mode = DRM_MODE_DPMS_ON;
+       if (ret)
+               intel_crtc->dpms_mode = DRM_MODE_DPMS_OFF;
+       else
+               intel_crtc->dpms_mode = DRM_MODE_DPMS_ON;
 
        return ret;
 }