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.
35 lines
1.4 KiB
35 lines
1.4 KiB
6 years ago
|
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
|
||
|
|