From: Kuo-Jung Su <dant...@faraday-tech.com> Because the EP0 fifo empty indication is non-reliable, an extra delay is necessary to avoid data corruption while handling packets with size greater than 64 bytes.
This workaround should be applied to all hardware revisions. Signed-off-by: Kuo-Jung Su <dant...@faraday-tech.com> CC: Marek Vasut <ma...@denx.de> --- drivers/usb/gadget/fotg210.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/gadget/fotg210.c b/drivers/usb/gadget/fotg210.c index e3a61cc..14bfec6 100644 --- a/drivers/usb/gadget/fotg210.c +++ b/drivers/usb/gadget/fotg210.c @@ -245,6 +245,7 @@ static int fotg210_dma(struct fotg210_ep *ep, struct fotg210_request *req) if (ep->id == 0) { /* Wait until cx/ep0 fifo empty */ fotg210_cxwait(chip, CXFIFO_CXFIFOE); + udelay_masked(1); writel(DMAFIFO_CX, ®s->dma_fifo); } else { /* Wait until epx fifo empty */ -- 1.7.9.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot