On Fri, 1 Apr 2011, Felipe Balbi wrote: > > this routine assumes that the maxpacket size divides the block size, > > and with SuperSpeed that won't be true unless the block size is > > increased to 1024. Fixing the assumption will require more than > > changing this one line. > > Ok, thanks for the info. I'll spend some time with it during next week. > What do you suggest in this case ? I mean, we shouldn't be doing short > transfers with this gadget driver, right ? And if block size is always > 512, how can we transfer one block without having a short transfer ? "Short" means "shorter than expected", not "shorter than the maxpacket size". > Should we, then make the block size == wMaxPacketSize and keep aligning > on a block boundary ? The correct approach is to align on the larger of the block size and the maxpacket size (provided one is a multiple of the other, which isn't always true with wireless USB!). In theory short transfers shouldn't occur, but it doesn't matter much if they do, provided they are a multiple of the block size. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html