summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorErkki Seppälä <erkki.seppala@vincit.fi>2011-03-18 16:35:36 +0200
committerPeter Hutterer <peter.hutterer@who-t.net>2011-03-24 09:51:09 +1000
commit6243332782f2d286d49f1dec8a628b0a403665fd (patch)
tree33ff655f6aeba0ff88a9284ac664f14d7c00074f /config
parentfad10cb38ef2433c82f8a43d3b7d64e323728060 (diff)
config: handle device change event properly
wakeup_handler in udev.c wasn't dealing with udev change events. There are situations when a device can gain its input capabilities after it has been added to the system and therefore the change events must be handled as well. The change is handled as a consecutive device removal and addition. Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Stefan Kost <Stefan.Kost@nokia.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'config')
-rw-r--r--config/udev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/config/udev.c b/config/udev.c
index 678e47a39..9ac34ee50 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -255,6 +255,10 @@ wakeup_handler(pointer data, int err, pointer read_mask)
device_added(udev_device);
else if (!strcmp(action, "remove"))
device_removed(udev_device);
+ else if (!strcmp(action, "change")) {
+ device_removed(udev_device);
+ device_added(udev_device);
+ }
}
udev_device_unref(udev_device);
}