From: Stephen Chandler Paul <cp...@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 <cp...@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

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to