summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2013-09-25 18:41:04 -0700
committerMarek Vasut <marex@denx.de>2013-10-20 23:42:39 +0200
commit43880ce5be8e6e5c26d88705be08161bde55deeb (patch)
treeabf81cbbd6938f3d5c3786e2e699f2917e25e15d
parent968055321e7dc215e20c886d1706a3936fe02b22 (diff)
downloadu-boot-43880ce5be8e6e5c26d88705be08161bde55deeb.tar.gz
u-boot-43880ce5be8e6e5c26d88705be08161bde55deeb.tar.xz
u-boot-43880ce5be8e6e5c26d88705be08161bde55deeb.zip
usb: gadget: ether set wMaxPacketSize
set wMaxPacketSize for full speed descriptors fs_source_desc, fs_sink_desc to 64. Full-speed bulk endpoint can have a maximum packet size of 8, 16, 32, or 64 bytes, so choice 64. The hs_source_desc, hs_sink_desc, already have their wMaxPacketSize set to 512. That is the only legal value for high speed bulk endpoints. Strictly speaking, this patch is not needed because usb_ep_autoconfig will call ep_matches which will override wMaxPacketSize for BULK endpoints only with the size associated with the endpoint setup by the udc driver. But if you want to rely on this, you may as well combine the full speed descriptor with the high speed descriptor to minimize confusion. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
-rw-r--r--drivers/usb/gadget/ether.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 700d5fbfb2..988cffb31c 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -635,6 +635,7 @@ fs_source_desc = {
.bEndpointAddress = USB_DIR_IN,
.bmAttributes = USB_ENDPOINT_XFER_BULK,
+ .wMaxPacketSize = __constant_cpu_to_le16(64),
};
static struct usb_endpoint_descriptor
@@ -644,6 +645,7 @@ fs_sink_desc = {
.bEndpointAddress = USB_DIR_OUT,
.bmAttributes = USB_ENDPOINT_XFER_BULK,
+ .wMaxPacketSize = __constant_cpu_to_le16(64),
};
static const struct usb_descriptor_header *fs_eth_function[11] = {