staging: most: usb: don't set URB_ZERO_PACKET flag for synchronous data
authorChristian Gromm <christian.gromm@microchip.com>
Tue, 8 May 2018 09:45:14 +0000 (11:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 May 2018 11:41:51 +0000 (13:41 +0200)
This patch avoids setting the URB_ZERO_PACKET transfer flag for synchronous
data. This is needed to prevent the host from sending an empty packet when
data is aligned to an endpoint packet boundary.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/usb/usb.c

index 3126b69..d102b08 100644 (file)
@@ -592,7 +592,8 @@ static int hdm_enqueue(struct most_interface *iface, int channel,
                                  length,
                                  hdm_write_completion,
                                  mbo);
-               if (conf->data_type != MOST_CH_ISOC)
+               if (conf->data_type != MOST_CH_ISOC &&
+                   conf->data_type != MOST_CH_SYNC)
                        urb->transfer_flags |= URB_ZERO_PACKET;
        } else {
                usb_fill_bulk_urb(urb, mdev->usb_device,