aboutsummaryrefslogtreecommitdiff
path: root/src/evdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/evdev.c')
-rw-r--r--src/evdev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 7179c04..94ff353 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -93,6 +93,11 @@ EvdevReadInput(InputInfoPtr pInfo)
* event, so len != sizeof ev is an error. */
xf86Msg(X_ERROR, "Read error: %s (%d, %d != %ld)\n",
strerror(errno), errno, len, sizeof (ev));
+ if (len < 0) {
+ evdevDevicePtr pEvdev = pInfo->private;
+ pEvdev->callback(pEvdev->pInfo->dev, DEVICE_OFF);
+ pEvdev->seen--;
+ }
break;
}