Re: [RFC PATCH] usb: dwc3: ep0: Fix mem corruption on OUT transfers of more than 512 bytes

From: Alan Stern
Date: Tue Jun 09 2015 - 11:17:02 EST


On Tue, 9 Jun 2015, Kishon Vijay Abraham I wrote:

> > Why not just make the bounce buffer size the same as the maxpacket
> > size? In other words, 1024 bytes instead of 512, for ep0 on a USB-3
> > device.
>
> It would still be possible for the host to send data more than 1024 bytes no?

Yes.

> When working with DFU gadget, I've seen host sends data upto 4KB. Changing the
> bounce buffer size might not be able to fix all the cases IMO. The actual fix
> will be something like [1]
>
> [1] -> http://comments.gmane.org/gmane.linux.kernel/1883688

But with a bounce buffer that's only 512 bytes long, you can never send
an entire packet's worth of data. If the bounce buffer is 1024 bytes
then you can send the entire first packet. When that's done, you can
send the second packet. And so on. It wouldn't be quite as fast, but
for ep0 that shouldn't matter.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/