summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-07-31 16:39:00 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-08-07 07:38:26 +1000
commit1cb8f074df8d16879ec80d778d26fb5b9af05a3b (patch)
treebe9ddf864bf3deac477e6f09fc0e1ac145defb8b
parent4eacb581fb71eaf515ec67af0f206126d8328043 (diff)
Don't delete the device on ENODEV
This is signal handler code and we cannot clean up properly while in the signal handler. So reduce the code to removing the signal handler and let the device be cleaned up later. If hotplugging is on, the server will remove it when the config backend says so and if it is off, the server will remove it on shutdown. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--src/evdev.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/evdev.c b/src/evdev.c
index f54b66f..b832d98 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1113,12 +1113,8 @@ EvdevReadInput(InputInfoPtr pInfo)
if (len <= 0)
{
if (errno == ENODEV) /* May happen after resume */
- {
- EvdevMBEmuFinalize(pInfo);
- Evdev3BEmuFinalize(pInfo);
xf86RemoveEnabledDevice(pInfo);
- EvdevCloseDevice(pInfo);
- } else if (errno != EAGAIN)
+ else if (errno != EAGAIN)
{
/* We use X_NONE here because it doesn't alloc */
xf86MsgVerb(X_NONE, 0, "%s: Read error: %s\n", pInfo->name,