xorg-x11-server/0001-config-udev-ignore-change-on-drm-devices.patch

42 lines
1.5 KiB
Diff
Raw Normal View History

From 6d9beff6ce231527dfd59e896c6cf3730555121a Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@gmail.com>
Date: Thu, 13 Sep 2012 18:44:06 +1000
Subject: [PATCH] config/udev: ignore change on drm devices
for input devices we handle change like remove/add, but for
drm devices we get change events when we hotplug outputs,
so lets just ignore change at this level, and let the drivers
handle it. We may in the future want to route driver udev
from here instead.
Reported-by: Timo Aaltonen <timo.aaltonen@canonical.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
config/udev.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/config/udev.c b/config/udev.c
index c2d00bb..454838f 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -300,9 +300,15 @@ wakeup_handler(pointer data, int err, pointer read_mask)
return;
action = udev_device_get_action(udev_device);
if (action) {
- if (!strcmp(action, "add") || !strcmp(action, "change")) {
+ if (!strcmp(action, "add")) {
device_removed(udev_device);
device_added(udev_device);
+ } else if (!strcmp(action, "change")) {
+ /* ignore change for the drm devices */
+ if (strcmp(udev_device_get_subsystem(udev_device), "drm")) {
+ device_removed(udev_device);
+ device_added(udev_device);
+ }
}
else if (!strcmp(action, "remove"))
device_removed(udev_device);
--
1.7.10.2