summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2013-03-12 23:30:05 +0800
committerPete Batard <pete@akeo.ie>2013-03-12 22:54:15 +0000
commit15f7b3aeea19b95610e4baf26eb51b8709562cf7 (patch)
treeaf517c9b4ce7e24a8958fbd1a6e23de3f66fe4ef
parent5689b7709352f82061f92cec735fe961f8d00ab0 (diff)
downloadlibusb-15f7b3aeea19b95610e4baf26eb51b8709562cf7.tar.gz
OS X: Do not assume HS when submitting isochronous transfer
* Closes #99
-rw-r--r--libusb/os/darwin_usb.c5
-rw-r--r--libusb/version_nano.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/libusb/os/darwin_usb.c b/libusb/os/darwin_usb.c
index 47d7961..08bd7f0 100644
--- a/libusb/os/darwin_usb.c
+++ b/libusb/os/darwin_usb.c
@@ -1445,7 +1445,10 @@ static int submit_iso_transfer(struct usbi_transfer *itransfer) {
transfer->num_iso_packets, tpriv->isoc_framelist, darwin_async_io_callback,
itransfer);
- cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets / 8;
+ if (transfer->dev_handle->dev->speed == LIBUSB_SPEED_FULL)
+ cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets;
+ else
+ cInterface->frames[transfer->endpoint] = frame + transfer->num_iso_packets / 8;
if (kresult != kIOReturnSuccess) {
usbi_err (TRANSFER_CTX (transfer), "isochronous transfer failed (dir: %s): %s", IS_XFERIN(transfer) ? "In" : "Out",
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index a4acadb..bd8f428 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10627
+#define LIBUSB_NANO 10628