[PATCH] Handle failures in setting a CRTC to a DRM mode properly
cpaul at redhat.com
cpaul at redhat.com
Wed Oct 21 11:52:16 PDT 2015
From: Stephen Chandler Paul <cpaul at redhat.com>
This fixes a bug where running the card out of PPLL's when hotplugging
another monitor would result in all of the displays going blank and
failing to work properly until X was restarted or the user switched to
another VT.
Signed-off-by: Stephen Chandler Paul <cpaul at redhat.com>
---
src/drmmode_display.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 64e79d4..5d69fbf 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -762,10 +762,12 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
}
ret = drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
fb_id, x, y, output_ids, output_count, &kmode);
- if (ret)
+ if (ret) {
xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR,
"failed to set mode: %s", strerror(-ret));
- else
+ ret = FALSE;
+ goto done;
+ } else
ret = TRUE;
if (crtc->scrn->pScreen)
--
2.4.3
More information about the xorg-devel
mailing list