From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Mon, 07 Dec 2015 13:58:26 +0100 Subject: [U-Boot] [PATCH 1/2] usb: gadget: s3c_udc_otg: fixed max packet size check for ep_in in high speed In-Reply-To: <1449221794-52246-2-git-send-email-frank.wang@rock-chips.com> References: <1449221794-52246-1-git-send-email-frank.wang@rock-chips.com> <1449221794-52246-2-git-send-email-frank.wang@rock-chips.com> Message-ID: <20151207135826.1808bc41@amdc2363> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Frank, > In current fastboot frame, both full and high speed use 'fs_ep_in', > but fs_ep_in.wMaxPacketSize is configurated 64 bytes as default, Because 64 bytes is the smallest possible packet size. > I do not understand why high speed TX max packet size is also set as > 64 bytes, According to struct s3c_udc @ s3c_udc_otg.c only the EP0 has maxpacket set to 64 bytes. Rest is set to 512B. Frank could you shed some light on conditions when this error shows up? Some logs/condition of operation could be helpful. > so I changed the condition from '!=' to '>' as a > workaround. Instead of applying workaround, lets focus on your problem. > > Signed-off-by: Frank Wang > --- > drivers/usb/gadget/s3c_udc_otg.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/s3c_udc_otg.c > b/drivers/usb/gadget/s3c_udc_otg.c index 7a2d1e7..b2d3988 100644 > --- a/drivers/usb/gadget/s3c_udc_otg.c > +++ b/drivers/usb/gadget/s3c_udc_otg.c > @@ -556,8 +556,8 @@ static int s3c_ep_enable(struct usb_ep *_ep, > } > > /* hardware _could_ do smaller, but driver doesn't */ > - if ((desc->bmAttributes == USB_ENDPOINT_XFER_BULK > - && le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) != > + if ((desc->bmAttributes == USB_ENDPOINT_XFER_BULK && > + le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) > > ep_maxpacket(ep)) > || !get_unaligned(&desc->wMaxPacketSize)) { > debug("%s: bad %s maxpacket\n", __func__, _ep->name); -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group