Re: [PATCH] usb: gadget: f_midi: Fixed a bug when buflen was smaller than wMaxPacketSize

From: Felipe Balbi
Date: Mon Apr 04 2016 - 06:48:51 EST



Hi,

Felipe Ferreri Tonello <eu@xxxxxxxxxxxxxxxxx> writes:
>>> On 30/03/16 13:33, Michal Nazarewicz wrote:
>>>> On Wed, Mar 30 2016, Felipe Balbi wrote:
>>>>> a USB packet, right. that's correct. But a struct usb_request can
>>>>> point to whatever size buffer it wants and UDC is required to split
>>>>> that into wMaxPacketSize transfers.
>>>>
>>>> Dâoh. Of course. Disregard all my comments on the patch (except for
>>>> Ack).
>>>>
>>>
>>> I didn't really get it. Does that mean that if buflen is multiple of
>>> wMaxPacketSize, the UDC driver should fit as many [DATA] packets into
>>> one usb_request and call complete() or it will always call complete() on
>>> each [DATA] packet, thus not requiring buflen at all?
>>>
>>> Does that mean that we can still use buflen and this patch is still
>>> valid? (besides the endianess issue that was addressed on v2)
>>
>> if you have e.g. 2048 bytes of data to transfer and wMaxPacketSize is
>> e.g. 256 bytes, the UDC controller is required to do whatever it needs
>> to do to transfer 2048 bytes (or less if there's a short packet).
>>
>> You don't need to break these 2048 bytes into several requests yourself,
>> the UDC is required to do that for the gadget.
>
> Right, what about OUT endpoints?

also applicable

--
balbi

Attachment: signature.asc
Description: PGP signature