summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Rodriguez <andresx7@gmail.com>2019-09-06 18:32:44 -0400
committerAndres Rodriguez <andresx7@gmail.com>2019-09-23 12:45:53 -0400
commit5aadaac9499c71ebf88c0e5fc658d9d56c8a7e16 (patch)
treed6fb6cdb17d74d449df019a7e3fc68546935161a
parent63346c74393e1df4555f84367529802a67578ef6 (diff)
xf86: Disable unused crtc functions when a lease is revoked
This fixes 'non-desktop' displays staying powered on after their lease has been revoked. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111620 Cc: Keith Packard <keithp@keithp.com> Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
-rw-r--r--hw/xfree86/modes/xf86RandR12.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 34f2652bf..f220ef192 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -2226,6 +2226,7 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease)
{
int c;
int o;
+ ScrnInfoPtr scrn = xf86ScreenToScrn(lease->screen);
RRLeaseTerminated(lease);
/*
@@ -2256,6 +2257,10 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease)
xf86CrtcCheckReset(crtc);
}
}
+
+ /* Power off if necessary */
+ xf86DisableUnusedFunctions(scrn);
+
RRLeaseFree(lease);
}