diff options
| author | 2009-08-28 13:53:08 +0200 | |
|---|---|---|
| committer | 2009-08-28 13:53:08 +0200 | |
| commit | 856ddf1fe694686d98dc4b847a4e0f9ec6a8f418 (patch) | |
| tree | 0aeb68bacc638010644eb12c9cb625b02ef5b9de | |
| parent | 3f84355300b83eb737e77a5c0e06bc0740758085 (diff) | |
| download | usbmuxd-856ddf1fe694686d98dc4b847a4e0f9ec6a8f418.tar.gz usbmuxd-856ddf1fe694686d98dc4b847a4e0f9ec6a8f418.tar.bz2 | |
usb-linux: use libusb_get_max_packet_size() instead of custom code.
| -rw-r--r-- | daemon/usb-linux.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/daemon/usb-linux.c b/daemon/usb-linux.c index c09cdc9..6f25ed4 100644 --- a/daemon/usb-linux.c +++ b/daemon/usb-linux.c | |||
| @@ -322,23 +322,8 @@ static int usb_discover(void) | |||
| 322 | usbdev->pid = devdesc.idProduct; | 322 | usbdev->pid = devdesc.idProduct; |
| 323 | usbdev->dev = handle; | 323 | usbdev->dev = handle; |
| 324 | usbdev->alive = 1; | 324 | usbdev->alive = 1; |
| 325 | usbdev->wMaxPacketSize = 0; | 325 | usbdev->wMaxPacketSize = libusb_get_max_packet_size(dev, BULK_OUT); |
| 326 | struct libusb_config_descriptor *cfg; | 326 | if (usbdev->wMaxPacketSize <= 0) { |
| 327 | if (libusb_get_active_config_descriptor(dev, &cfg) == 0 | ||
| 328 | && cfg && cfg->bNumInterfaces >= (USB_INTERFACE+1)) { | ||
| 329 | const struct libusb_interface *ifp = &cfg->interface[USB_INTERFACE]; | ||
| 330 | if (ifp && ifp->num_altsetting >= 1) { | ||
| 331 | const struct libusb_interface_descriptor *as = &ifp->altsetting[0]; | ||
| 332 | int i; | ||
| 333 | for (i = 0; i < as->bNumEndpoints; i++) { | ||
| 334 | const struct libusb_endpoint_descriptor *ep = &as->endpoint[i]; | ||
| 335 | if (ep->bEndpointAddress == BULK_OUT) { | ||
| 336 | usbdev->wMaxPacketSize = ep->wMaxPacketSize; | ||
| 337 | } | ||
| 338 | } | ||
| 339 | } | ||
| 340 | } | ||
| 341 | if (usbdev->wMaxPacketSize == 0) { | ||
| 342 | usbmuxd_log(LL_ERROR, "Could not determine wMaxPacketSize for device %d-%d, setting to 64", usbdev->bus, usbdev->address); | 327 | usbmuxd_log(LL_ERROR, "Could not determine wMaxPacketSize for device %d-%d, setting to 64", usbdev->bus, usbdev->address); |
| 343 | usbdev->wMaxPacketSize = 64; | 328 | usbdev->wMaxPacketSize = 64; |
| 344 | } else { | 329 | } else { |
