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