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>
This commit is contained in:
Andres Rodriguez 2019-09-06 18:32:44 -04:00
parent 63346c7439
commit 5aadaac949

View File

@ -2226,6 +2226,7 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease)
{ {
int c; int c;
int o; int o;
ScrnInfoPtr scrn = xf86ScreenToScrn(lease->screen);
RRLeaseTerminated(lease); RRLeaseTerminated(lease);
/* /*
@ -2256,6 +2257,10 @@ xf86CrtcLeaseTerminated(RRLeasePtr lease)
xf86CrtcCheckReset(crtc); xf86CrtcCheckReset(crtc);
} }
} }
/* Power off if necessary */
xf86DisableUnusedFunctions(scrn);
RRLeaseFree(lease); RRLeaseFree(lease);
} }