From e0b92f5f86f8ce71ab4c80e9902e51e2525f9705 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 13 Sep 2012 18:44:06 +1000 Subject: 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 Reviewed-by: Keith Packard Signed-off-by: Dave Airlie --- config/udev.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/config/udev.c b/config/udev.c index c2d00bbda..454838f4c 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); -- cgit v1.2.3