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.