linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Ferreri Tonello <eu@felipetonello.com>
To: Robert Baldyga <r.baldyga@samsung.com>,
	Robert Baldyga <r.baldyga@hackerion.com>
Cc: USB list <linux-usb@vger.kernel.org>,
	Kernel development list <linux-kernel@vger.kernel.org>,
	Felipe Balbi <balbi@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrzej Pietrasiewicz <andrzej.p@samsung.com>,
	Clemens Ladisch <clemens@ladisch.de>
Subject: Re: [PATCH v4 5/7] usb: gadget: f_midi: set altsettings only for MIDIStreaming interface
Date: Tue, 27 Oct 2015 09:19:31 +0000	[thread overview]
Message-ID: <562F41A3.3070504@felipetonello.com> (raw)
In-Reply-To: <562F1E0A.30703@samsung.com>

Hi Robert,

On 27/10/15 06:47, Robert Baldyga wrote:
> On 10/26/2015 11:53 PM, Felipe Tonello wrote:
>> Hi Robert,
>>
>> On Mon, Oct 26, 2015 at 10:30 PM, Robert Baldyga
>> <r.baldyga@hackerion.com> wrote:
>>> On 10/26/2015 05:55 PM, Felipe F. Tonello wrote:
>>>> This avoids duplication of USB requests for OUT endpoint and
>>>> re-enabling endpoints.
>>>>
>>>> Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
>>>> ---
>>>>  drivers/usb/gadget/function/f_midi.c | 4 ++++
>>>>  1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
>>>> index 0e9cdeb..a617df3 100644
>>>> --- a/drivers/usb/gadget/function/f_midi.c
>>>> +++ b/drivers/usb/gadget/function/f_midi.c
>>>> @@ -323,6 +323,10 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>>>>       unsigned i;
>>>>       int err;
>>>>
>>>> +     /* We don't care if it is not MIDIStreaming interface */
>>>> +     if (intf != ms_interface_desc.bInterfaceNumber)
>>>> +             return 0;
>>>> +
>>>
>>> These global descriptors are overwritten in bind() of each instance of
>>> f_midi, so you have no guarantee that your bInterfaceNumber is correct
>>> for your current instance. Instead you should store value obtained from
>>> usb_interface_id() during bind().
>>
>> Ok.
>>
>> But then this interface descriptors shouldn't be global static,
>> because they will always reflect the latest bind() only. Right?
> 
> They are copied for each instance of USB function, so they are actually
> template to fill and copy in bind(). I'm currently working on some
> patches changing a bit behavior of set_alt() to make it clearer, but for
> now the only way to distinguish between altsettings properly is to store
> bInterfaceNumber value for each function instance in its bind().

Ok. Thanks.

-- 
Felipe

  reply	other threads:[~2015-10-27  9:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-26 16:55 [PATCH v4 0/7] USB MIDI Gadget improvements and bug fixes Felipe F. Tonello
2015-10-26 16:55 ` [PATCH v4 1/7] usb: gadget: f_midi: Transmit data only when IN ep is enabled Felipe F. Tonello
2015-10-26 22:13   ` Robert Baldyga
2015-10-26 22:49     ` Felipe Tonello
2015-10-27  6:41       ` Robert Baldyga
2015-10-27  9:21         ` Felipe Ferreri Tonello
2015-10-26 16:55 ` [PATCH v4 2/7] usb: gadget: f_midi: remove duplicated code Felipe F. Tonello
2015-10-26 16:55 ` [PATCH v4 3/7] usb: gadget: define free_ep_req as universal function Felipe F. Tonello
2015-10-27  6:53   ` Robert Baldyga
2015-10-27  9:18     ` Felipe Ferreri Tonello
2015-10-27  9:47       ` Robert Baldyga
2015-10-27 12:53         ` Felipe Ferreri Tonello
2015-10-26 16:55 ` [PATCH v4 4/7] usb: gadget: f_midi: fix leak on failed to enqueue out requests Felipe F. Tonello
2015-10-26 22:23   ` Robert Baldyga
2015-10-26 22:55     ` Felipe Tonello
2015-10-26 16:55 ` [PATCH v4 5/7] usb: gadget: f_midi: set altsettings only for MIDIStreaming interface Felipe F. Tonello
2015-10-26 22:30   ` Robert Baldyga
2015-10-26 22:53     ` Felipe Tonello
2015-10-27  6:47       ` Robert Baldyga
2015-10-27  9:19         ` Felipe Ferreri Tonello [this message]
2015-10-26 16:55 ` [PATCH v4 6/7] usb: gadget: gmidi: Cleanup legacy code Felipe F. Tonello
2015-10-26 16:55 ` [PATCH v4 7/7] usb: gadget: f_midi: pre-allocate IN requests Felipe F. Tonello
2015-10-27 14:14 ` [PATCH v4 0/7] USB MIDI Gadget improvements and bug fixes Felipe Ferreri Tonello

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=562F41A3.3070504@felipetonello.com \
    --to=eu@felipetonello.com \
    --cc=andrzej.p@samsung.com \
    --cc=balbi@ti.com \
    --cc=clemens@ladisch.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=r.baldyga@hackerion.com \
    --cc=r.baldyga@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).