You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.4 KiB
34 lines
1.4 KiB
From 9f3a6ac97e9d3f13cdfb38e54fbce92452025830 Mon Sep 17 00:00:00 2001 |
|
From: Peter Hutterer <peter.hutterer@who-t.net> |
|
Date: Mon, 14 May 2018 09:49:00 +1000 |
|
Subject: [PATCH synaptics] eventcomm: if we get a read error other than |
|
EAGAIN, remove the fd |
|
|
|
Otherwise poll() keeps on triggering on our fd until udev gets around to |
|
notifying the server that the device is in some state of deadness. Meanwhile, |
|
the input thread is busy filling the log up with "Read error" messages. Great |
|
way to test file systems and their capacity to handle out of space scenarios |
|
but otherwise a bit pointless. Those FS developers should write their own |
|
tests instead of relying on the synaptics driver! |
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
|
Reviewed-by: Adam Jackson <ajax@redhat.com> |
|
--- |
|
src/eventcomm.c | 1 + |
|
1 file changed, 1 insertion(+) |
|
|
|
diff --git a/src/eventcomm.c b/src/eventcomm.c |
|
index f65d532..3d0c5b0 100644 |
|
--- a/src/eventcomm.c |
|
+++ b/src/eventcomm.c |
|
@@ -557,6 +557,7 @@ SynapticsReadEvent(InputInfoPtr pInfo, struct input_event *ev) |
|
if (rc != -EAGAIN) { |
|
LogMessageVerbSigSafe(X_ERROR, 0, "%s: Read error %d\n", pInfo->name, |
|
errno); |
|
+ xf86RemoveEnabledDevice(pInfo); |
|
} else if (proto_data->read_flag == LIBEVDEV_READ_FLAG_SYNC) { |
|
proto_data->read_flag = LIBEVDEV_READ_FLAG_NORMAL; |
|
return SynapticsReadEvent(pInfo, ev); |
|
-- |
|
2.14.3 |
|
|
|
|