OLD | NEW |
(Empty) | |
| 1 Index: src/libusb1-glue.c |
| 2 =================================================================== |
| 3 --- src/libusb1-glue.c (revision 160213) |
| 4 +++ src/libusb1-glue.c (working copy) |
| 5 @@ -84,7 +84,7 @@ |
| 6 static const int mtp_device_table_size = sizeof(mtp_device_table) / sizeof(LIBM
TP_device_entry_t); |
| 7 |
| 8 // Local functions |
| 9 -static void init_usb(); |
| 10 +static LIBMTP_error_number_t init_usb(); |
| 11 static void close_usb(PTP_USB* ptp_usb); |
| 12 static int find_interface_and_endpoints(libusb_device *dev, |
| 13 uint8_t *interface, |
| 14 @@ -125,16 +125,20 @@ |
| 15 } |
| 16 |
| 17 |
| 18 -static void init_usb() |
| 19 +static LIBMTP_error_number_t init_usb() |
| 20 { |
| 21 /* |
| 22 * Some additional libusb debugging please. |
| 23 * We use the same level debug between MTP and USB. |
| 24 */ |
| 25 - libusb_init(NULL); |
| 26 + if (libusb_init(NULL) < 0) { |
| 27 + LIBMTP_ERROR("Libusb1 init failed\n"); |
| 28 + return LIBMTP_ERROR_USB_LAYER; |
| 29 + } |
| 30 |
| 31 if ((LIBMTP_debug & LIBMTP_DEBUG_USB) != 0) |
| 32 libusb_set_debug(NULL,9); |
| 33 + return LIBMTP_ERROR_NONE; |
| 34 } |
| 35 |
| 36 /** |
| 37 @@ -478,8 +482,11 @@ |
| 38 ssize_t nrofdevs; |
| 39 libusb_device **devs = NULL; |
| 40 int ret, i; |
| 41 + LIBMTP_error_number_t init_usb_ret; |
| 42 |
| 43 - init_usb(); |
| 44 + init_usb_ret = init_usb(); |
| 45 + if (init_usb_ret != LIBMTP_ERROR_NONE) |
| 46 + return init_usb_ret; |
| 47 |
| 48 nrofdevs = libusb_get_device_list (NULL, &devs); |
| 49 for (i = 0; i < nrofdevs ; i++) { |
| 50 @@ -551,8 +558,11 @@ |
| 51 ssize_t nrofdevs; |
| 52 libusb_device **devs = NULL; |
| 53 int i; |
| 54 + LIBMTP_error_number_t init_usb_ret; |
| 55 |
| 56 - init_usb(); |
| 57 + init_usb_ret = init_usb(); |
| 58 + if (init_usb_ret != LIBMTP_ERROR_NONE) |
| 59 + return 0; |
| 60 |
| 61 nrofdevs = libusb_get_device_list (NULL, &devs); |
| 62 for (i = 0; i < nrofdevs ; i++ ) { |
| 63 @@ -1904,9 +1914,12 @@ |
| 64 ssize_t nrofdevs; |
| 65 libusb_device **devs = NULL; |
| 66 struct libusb_device_descriptor desc; |
| 67 + LIBMTP_error_number_t init_usb_ret; |
| 68 |
| 69 /* See if we can find this raw device again... */ |
| 70 - init_usb(); |
| 71 + init_usb_ret = init_usb(); |
| 72 + if (init_usb_ret != LIBMTP_ERROR_NONE) |
| 73 + return init_usb_ret; |
| 74 |
| 75 nrofdevs = libusb_get_device_list (NULL, &devs); |
| 76 for (i = 0; i < nrofdevs ; i++) { |
OLD | NEW |