linux_usbfs: Set urb->buffer_length for isochronous transfers
authorJakub Klama <jakub.klama@twoporeguys.com>
Wed, 22 Nov 2017 19:40:09 +0000 (20:40 +0100)
committerChris Dickens <christopher.a.dickens@gmail.com>
Fri, 22 Dec 2017 19:37:52 +0000 (11:37 -0800)
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>
libusb/os/linux_usbfs.c
libusb/version_nano.h

index 9486d66..5160e86 100644 (file)
@@ -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;
                }
 
index 129f818..4c701ea 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 11218
+#define LIBUSB_NANO 11219