usb: gadget: midi: avoid redundant f_midi_set_alt() call
authorRobert Baldyga <r.baldyga@samsung.com>
Mon, 13 Jul 2015 09:03:51 +0000 (11:03 +0200)
committerFelipe Balbi <balbi@ti.com>
Fri, 31 Jul 2015 13:57:59 +0000 (08:57 -0500)
Function midi registers two interfaces with single set_alt() function
which means that f_midi_set_alt() is called twice when configuration
is set. That means that endpoint initialization and ep request allocation
is done two times. To avoid this problem we do such things only once,
for interface number 1 (MIDI Streaming interface).

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/function/f_midi.c

index ad50a67c14656aa70f6804572486954f0e389887..a287a48292731b2b9eda7a0294eed98dfd6b0987 100644 (file)
@@ -329,6 +329,10 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
        unsigned i;
        int err;
 
+       /* For Control Device interface we do nothing */
+       if (intf == 0)
+               return 0;
+
        err = f_midi_start_ep(midi, f, midi->in_ep);
        if (err)
                return err;