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@xxxxxxxxxxxxxxxxx> > --- > 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(). > err = f_midi_start_ep(midi, f, midi->in_ep); > if (err) > return err; > Best regards, Robert -- 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