xf86-video-intel: src/sna/sna_display.c

Chris Wilson ickle at kemper.freedesktop.org
Tue May 17 06:28:39 UTC 2016


 src/sna/sna_display.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit ab3ab412a459a95e94707a4e39a18790ee04e6e3
Author: Chris Bainbridge <chris.bainbridge at gmail.com>
Date:   Tue May 17 07:26:10 2016 +0100

    sna: Fix increment of modeset serial after applying CRTC
    
    We track how many mode sets have been made in order to detect stale
    flips (i.e. a sequence that crosses a mode change). This was broken by
    the logic inversion in setcrc in 46caee86db0f ("sna: Fix reporting of
    errno after setcrtc failure")
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=95401
    Signed-off-by: Chris Bainbridge <chris.bainbridge at gmail.com>
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 867a10b..d01e6a4 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1447,9 +1447,12 @@ sna_crtc_apply(xf86CrtcPtr crtc)
 	ret = 0;
 	if (unlikely(drmIoctl(sna->kgem.fd, DRM_IOCTL_MODE_SETCRTC, &arg))) {
 		ret = errno;
-		sna_crtc->mode_serial++;
-		sna_crtc_force_outputs_on(crtc);
+		goto unblock;
 	}
+
+	sna_crtc->mode_serial++;
+	sna_crtc_force_outputs_on(crtc);
+
 unblock:
 	kmsg_close(&kmsg, ret);
 	sigio_unblock(sigio);


More information about the xorg-commit mailing list