[PATCH] Skip disabled CRTCs in drmmode_set_desired_modes() even if set_hw == FALSE

Michel Dänzer michel at daenzer.net
Thu Apr 30 01:42:58 PDT 2015


From: Michel Dänzer <michel.daenzer at amd.com>

Not skipping a disabled CRTC results in a crash.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90187
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/drmmode_display.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 06d1ec0..c12bf51 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -2145,10 +2145,13 @@ Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode,
 		int		o;
 
 		/* Skip disabled CRTCs */
-		if (set_hw && !crtc->enabled) {
-			drmmode_do_crtc_dpms(crtc, DPMSModeOff);
-			drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
-				       0, 0, 0, NULL, 0, NULL);
+		if (!crtc->enabled) {
+			if (set_hw) {
+				drmmode_do_crtc_dpms(crtc, DPMSModeOff);
+				drmModeSetCrtc(drmmode->fd,
+					       drmmode_crtc->mode_crtc->crtc_id,
+					       0, 0, 0, NULL, 0, NULL);
+			}
 			continue;
 		}
 
-- 
2.1.4



More information about the xorg-driver-ati mailing list