Commit 919de443 authored by Felipe F. Tonello's avatar Felipe F. Tonello Committed by Felipe Balbi

usb: gadget: f_midi: set altsettings only for MIDIStreaming interface

This avoids duplication of USB requests for OUT endpoint and
re-enabling endpoints.
Signed-off-by: default avatarFelipe F. Tonello <eu@felipetonello.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 03e43528
...@@ -75,6 +75,7 @@ struct f_midi { ...@@ -75,6 +75,7 @@ struct f_midi {
struct usb_ep *in_ep, *out_ep; struct usb_ep *in_ep, *out_ep;
struct snd_card *card; struct snd_card *card;
struct snd_rawmidi *rmidi; struct snd_rawmidi *rmidi;
u8 ms_id;
struct snd_rawmidi_substream *in_substream[MAX_PORTS]; struct snd_rawmidi_substream *in_substream[MAX_PORTS];
struct snd_rawmidi_substream *out_substream[MAX_PORTS]; struct snd_rawmidi_substream *out_substream[MAX_PORTS];
...@@ -321,8 +322,8 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt) ...@@ -321,8 +322,8 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
unsigned i; unsigned i;
int err; int err;
/* For Control Device interface we do nothing */ /* we only set alt for MIDIStreaming interface */
if (intf == 0) if (intf != midi->ms_id)
return 0; return 0;
err = f_midi_start_ep(midi, f, midi->in_ep); err = f_midi_start_ep(midi, f, midi->in_ep);
...@@ -730,6 +731,7 @@ static int f_midi_bind(struct usb_configuration *c, struct usb_function *f) ...@@ -730,6 +731,7 @@ static int f_midi_bind(struct usb_configuration *c, struct usb_function *f)
goto fail; goto fail;
ms_interface_desc.bInterfaceNumber = status; ms_interface_desc.bInterfaceNumber = status;
ac_header_desc.baInterfaceNr[0] = status; ac_header_desc.baInterfaceNr[0] = status;
midi->ms_id = status;
status = -ENODEV; status = -ENODEV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment