[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56FE8B40.7050809@felipetonello.com>
Date: Fri, 1 Apr 2016 15:52:48 +0100
From: Felipe Ferreri Tonello <eu@...ipetonello.com>
To: Felipe Balbi <balbi@...nel.org>,
Michal Nazarewicz <mina86@...a86.com>,
linux-usb@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Robert Baldyga <r.baldyga@...sung.com>
Subject: Re: [PATCH] usb: gadget: f_midi: Fixed a bug when buflen was smaller
than wMaxPacketSize
Hi Balbi,
On 01/04/16 11:22, Felipe Balbi wrote:
>
> Hi,
>
> Felipe Ferreri Tonello <eu@...ipetonello.com> writes:
>> Hi Balbi and Mina,
>>
>> 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?
So that means that buflen is still usable, at least on IN endpoints.
--
Felipe
Download attachment "0x92698E6A.asc" of type "application/pgp-keys" (7196 bytes)
Powered by blists - more mailing lists