[PATCH 05/29] staging: most: fix USB babble on IN pipe

Christian Gromm christian.gromm at microchip.com
Mon Sep 28 15:18:34 UTC 2015


This patch prevents the HDM USB from submitting an URB with a buffer size
unaligned to 512 bytes to the USB subsystem.

Signed-off-by: Andrey Shvetsov <andrey.shvetsov at k2l.de>
Signed-off-by: Christian Gromm <christian.gromm at microchip.com>
---
 drivers/staging/most/hdm-usb/hdm_usb.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/most/hdm-usb/hdm_usb.c b/drivers/staging/most/hdm-usb/hdm_usb.c
index 9bbefaa..9006793 100644
--- a/drivers/staging/most/hdm-usb/hdm_usb.c
+++ b/drivers/staging/most/hdm-usb/hdm_usb.c
@@ -711,7 +711,7 @@ static int hdm_enqueue(struct most_interface *iface, int channel, struct mbo *mb
 				  usb_rcvbulkpipe(mdev->usb_device,
 						  mdev->ep_address[channel]),
 				  virt_address,
-				  length,
+				  length + conf->extra_len,
 				  hdm_read_completion,
 				  mbo);
 	}
@@ -771,6 +771,7 @@ static int hdm_configure_channel(struct most_interface *iface, int channel,
 	    !((conf->data_type == MOST_CH_ISOC_AVP) &&
 	      (conf->packets_per_xact != 0xFF))) {
 		mdev->padding_active[channel] = false;
+		conf->extra_len = 0;
 		goto exit;
 	}
 
-- 
1.7.9.5



More information about the devel mailing list