Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -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)
	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)
		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;