summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Klama <jakub.klama@twoporeguys.com>2017-11-22 20:40:09 +0100
committerChris Dickens <christopher.a.dickens@gmail.com>2017-12-22 11:37:52 -0800
commitbb172b4356c1ace9aa2d2eb4b805f90ae6678de3 (patch)
tree8bf55e15cb5eae1d8f33bf19cbd3f1f64d81e2c7
parent4d9fc6264366f971a7382e7b5bb91c46c440c0f1 (diff)
downloadlibusb-bb172b4356c1ace9aa2d2eb4b805f90ae6678de3.tar.gz
linux_usbfs: Set urb->buffer_length for isochronous transfers
Linux 4.13 expects buffer_length to match sum of iso descriptor lengths. Closes #365 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
-rw-r--r--libusb/os/linux_usbfs.c1
-rw-r--r--libusb/version_nano.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index 9486d66..5160e86 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -2082,6 +2082,7 @@ static int submit_iso_transfer(struct usbi_transfer *itransfer)
for (j = 0, k = packet_offset - urb_packet_offset;
k < packet_offset; k++, j++) {
packet_len = transfer->iso_packet_desc[k].length;
+ urb->buffer_length += packet_len;
urb->iso_frame_desc[j].length = packet_len;
}
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 129f818..4c701ea 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11218
+#define LIBUSB_NANO 11219