Description: Skip checking for USB devices if libusb_init() fails Author: Leigh Brown Last-Update: 2013-08-39 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/io/hpmud/musb.c +++ b/io/hpmud/musb.c @@ -689,7 +689,9 @@ static libusb_device *get_libusb_device( int numdevs = 0; /* number of connected devices */ int i, conf, iface, altset ; - libusb_init(&libusb_ctx); + if (libusb_init(&libusb_ctx) != 0) + goto nousb; + numdevs = libusb_get_device_list(libusb_ctx, &libusb_dev_list); for (i=0; i< numdevs; i++) { @@ -729,7 +731,7 @@ static libusb_device *get_libusb_device( bugout: if (confptr) libusb_free_config_descriptor(confptr); - +nousb: return NULL; } @@ -2035,7 +2037,9 @@ int __attribute__ ((visibility ("hidden" char serial[128], mfg[128], sz[HPMUD_LINE_SIZE]; int r, size=0; - libusb_init(&ctx); + if (libusb_init(&ctx) != 0) + goto nousb; + numdevs = libusb_get_device_list(ctx, &list); if (numdevs <= 0) @@ -2137,7 +2141,7 @@ bugout: libusb_free_config_descriptor(confptr); libusb_free_device_list(list, 1); libusb_exit(ctx); - +nousb: return size; } @@ -2162,7 +2166,9 @@ enum HPMUD_RESULT hpmud_make_usb_uri(con *bytes_read=0; - libusb_init(&ctx); + if (libusb_init(&ctx) != 0) + goto nousb; + numdevs = libusb_get_device_list(ctx, &list); if (numdevs <= 0) @@ -2267,7 +2273,7 @@ bugout: libusb_free_device_list(list, 1); libusb_exit(ctx); - +nousb: return stat; }