From 7a679c9f97bcb9d7e47d9662d60abf69bee7bbd9 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Mon, 7 Sep 2015 12:31:04 -0400 Subject: [PATCH] hidraw: return -ETIMEDOUT when a timeout occured Signed-off-by: Benjamin Tissoires --- src/libratbag-hidraw.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libratbag-hidraw.c b/src/libratbag-hidraw.c index 1bcb0529..efe8b581 100644 --- a/src/libratbag-hidraw.c +++ b/src/libratbag-hidraw.c @@ -143,9 +143,13 @@ ratbag_hidraw_read_input_report(struct ratbag_device *device, uint8_t *buf, size fds.fd = device->hidraw_fd; fds.events = POLLIN; - if (poll(&fds, 1, 1000) == -1) + rc = poll(&fds, 1, 1000); + if (rc == -1) return -errno; + if (rc == 0) + return -ETIMEDOUT; + rc = read(device->hidraw_fd, buf, len); return rc >= 0 ? rc : -errno; }