xf86/logind: fix call systemd_logind_vtenter after receiving drm device resume
logind send the resume event for input devices and drm device, in any order. if we call vt_enter before logind resume the drm device, it leads to a driver error, because logind has not done the DRM_IOCTL_SET_MASTER on it. Keep the old workaround to make sure we call systemd_logind_vtenter at least once if there are no platform device Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
35af1299e7
commit
f5bd039633
|
@ -394,13 +394,15 @@ message_filter(DBusConnection * connection, DBusMessage * message, void *data)
|
|||
/* info->vt_active gets set by systemd_logind_vtenter() */
|
||||
info->active = TRUE;
|
||||
|
||||
if (pdev)
|
||||
if (pdev) {
|
||||
pdev->flags &= ~XF86_PDEV_PAUSED;
|
||||
else
|
||||
systemd_logind_vtenter();
|
||||
} else
|
||||
systemd_logind_set_input_fd_for_all_devs(major, minor, fd,
|
||||
info->vt_active);
|
||||
|
||||
/* Always call vtenter(), in case there are only legacy video devs */
|
||||
/* Always call vtenter(), only if there are only legacy video devs */
|
||||
if (!xf86_num_platform_devices)
|
||||
systemd_logind_vtenter();
|
||||
}
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
|
|
Loading…
Reference in New Issue