summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/function/f_midi.c
diff options
context:
space:
mode:
authorRobert Baldyga <r.baldyga@samsung.com>2015-07-13 11:03:51 +0200
committerFelipe Balbi <balbi@ti.com>2015-07-31 08:57:59 -0500
commit4ef7a4a1f097b2c17f4f2873a1595aa0aca9f6b4 (patch)
tree67b75f84a918f3170ab0bef42883fca8e0b54986 /drivers/usb/gadget/function/f_midi.c
parent55d811211b139ed097ddaf40d173c258f133c130 (diff)
downloadlinux-4ef7a4a1f097b2c17f4f2873a1595aa0aca9f6b4.tar.bz2
usb: gadget: midi: avoid redundant f_midi_set_alt() call
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>
Diffstat (limited to 'drivers/usb/gadget/function/f_midi.c')
-rw-r--r--drivers/usb/gadget/function/f_midi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index ad50a67c1465..a287a4829273 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -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;