Skip to content
Snippets Groups Projects
Commit 6969782b authored by Jocelyn Falempe's avatar Jocelyn Falempe
Browse files

x86/logind fix suspend/resume when there are no input devices

Make sure info->active and info->vt_active are false after
dropping drm master.
Normally, this is done when pausing the first input device, so it
breaks when there are no input device at all.

Fixes: da9d012a ("xf86/logind: Fix drm_drop_master before vt_reldisp")
Closes: #1387


Signed-off-by: default avatarJocelyn Falempe <jfalempe@redhat.com>
parent 41277766
No related branches found
No related tags found
1 merge request!986x86/logind fix suspend/resume when there are no input devices
......@@ -310,15 +310,19 @@ cleanup:
*/
void systemd_logind_drop_master(void)
{
struct systemd_logind_info *info = &logind_info;
int i;
/* Our VT_PROCESS usage guarantees we've already given up the vt */
info->active = info->vt_active = FALSE;
for (i = 0; i < xf86_num_platform_devices; i++) {
if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) {
dbus_int32_t major, minor;
struct systemd_logind_info *info = &logind_info;
xf86_platform_devices[i].flags |= XF86_PDEV_PAUSED;
major = xf86_platform_odev_attributes(i)->major;
minor = xf86_platform_odev_attributes(i)->minor;
LogMessage(X_INFO, "systemd-logind: drop master for %u:%u\n",
major, minor);
systemd_logind_ack_pause(info, minor, major);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment