Commit 553fbcde authored by Jassi Brar's avatar Jassi Brar Committed by Greg Kroah-Hartman

USB: Gadget: Initialize wMaxPacketSize if not already set

Currently, for ISO and INT, a protocol driver must chose the value for
wMaxPacketSize arbitrarily. The value may be too low, resulting in lesser
than efficient operation or high enough to not work with all UDC drivers.

Take un-initialized wMaxPacketSize as a hint to provide maximum
possible packetsize for the selected endpoint. The protocol may
then choose a value not bigger than that.
Signed-off-by: default avatarJassi Brar <jassi.brar@samsung.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 7af75af2
...@@ -128,6 +128,13 @@ ep_matches ( ...@@ -128,6 +128,13 @@ ep_matches (
} }
} }
/*
* If the protocol driver hasn't yet decided on wMaxPacketSize
* and wants to know the maximum possible, provide the info.
*/
if (desc->wMaxPacketSize == 0)
desc->wMaxPacketSize = cpu_to_le16(ep->maxpacket);
/* endpoint maxpacket size is an input parameter, except for bulk /* endpoint maxpacket size is an input parameter, except for bulk
* where it's an output parameter representing the full speed limit. * where it's an output parameter representing the full speed limit.
* the usb spec fixes high speed bulk maxpacket at 512 bytes. * the usb spec fixes high speed bulk maxpacket at 512 bytes.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment