diff options
author | Erkki Seppälä <erkki.seppala@vincit.fi> | 2011-03-18 16:35:36 +0200 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-03-24 09:51:09 +1000 |
commit | 6243332782f2d286d49f1dec8a628b0a403665fd (patch) | |
tree | 33ff655f6aeba0ff88a9284ac664f14d7c00074f /config | |
parent | fad10cb38ef2433c82f8a43d3b7d64e323728060 (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.c | 4 |
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); } |