Files
g15daemon/debian/patches/07-reinit-on-any-error.diff
T
Alexander Ponyatykh 107f0d8a79 Remove unused variables
Global variable keyhandler is declared as pointer to incomplete struct
type. Upon closer inspection, it turned out that this variable and
client_handles_keys are unused.
2019-11-18 23:58:12 +03:00

24 lines
1.1 KiB
Diff

Description: Reinitialize on any libusb error.
This allows g15daemon to correctly recover after suspend/resume.
Author: Alexander Ponyatykh <lazyranma@gmail.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libusb/+bug/1357556
Forwarded: no
Last-Update: 2019-11-17
===================================================================
--- a/g15daemon/main.c
+++ b/g15daemon/main.c
@@ -203,11 +203,10 @@
g15daemon_send_event(masterlist->current->lcd,
G15_EVENT_KEYPRESS, keypresses);
lastkeys = keypresses;
-
- }else if(retval == -ENODEV && LIBG15_VERSION>=1200) {
+ }else if(retval != G15_NO_ERROR && retval != G15_ERROR_TIMEOUT && LIBG15_VERSION>=1200) {
+ g15daemon_log(LOG_WARNING,"Keyboard error (%d).. Reinitializing\n", retval);
pthread_mutex_lock(&g15lib_mutex);
while((retval=re_initLibG15() != G15_NO_ERROR) && !leaving){
- g15daemon_log(LOG_WARNING,"Keyboard has gone.. Retrying\n");
sleep(1);
}
if(!leaving) {