drm/i915: Propagate failure to set mode for load-detect pipe
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 20 Apr 2011 18:20:15 +0000 (19:20 +0100)
committerKeith Packard <keithp@keithp.com>
Tue, 10 May 2011 20:19:14 +0000 (13:19 -0700)
Check the return value from drm_crtc_set_mode(), report the failure
via a debug message and propagate the error back to the caller. This
prevents us from blissfully continuing to do the load detection on a
disabled pipe. Fortunately actual failure for modesetting is very rare,
and reported failures even rarer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/intel_display.c

index 228621d077433cedf14c80a3dbd51c1e8b0f9025..943bcbcb4670bbc8556df01dc1decec880416c24 100644 (file)
@@ -5551,7 +5551,11 @@ bool intel_get_load_detect_pipe(struct intel_encoder *intel_encoder,
        if (!crtc->enabled) {
                if (!mode)
                        mode = &load_detect_mode;
-               drm_crtc_helper_set_mode(crtc, mode, 0, 0, crtc->fb);
+
+               if (!drm_crtc_helper_set_mode(crtc, mode, 0, 0, crtc->fb)) {
+                       DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n");
+                       return false;
+               }
        } else {
                if (intel_crtc->dpms_mode != DRM_MODE_DPMS_ON) {
                        crtc_funcs = crtc->helper_private;