diff mbox series

[04/10] ALSA: usb-audio: Add midi2_ump_probe option

Message ID 20230612081054.17200-5-tiwai@suse.de (mailing list archive)
State Accepted
Commit 960a1149c8fa70c221c70eaa13903ff873ba1873
Headers show
Series ALSA: Catch up MIDI 2.0 updates for UMP 1.1 | expand

Commit Message

Takashi Iwai June 12, 2023, 8:10 a.m. UTC
Add a new option to enable/disable the UMP Endpoint probing.
Some firmware seems screwed up when such a new command issued, and
this option allows user to suppress it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/usb/midi2.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/sound/usb/midi2.c b/sound/usb/midi2.c
index fad094e15999..13fa1978267a 100644
--- a/sound/usb/midi2.c
+++ b/sound/usb/midi2.c
@@ -27,6 +27,10 @@  static bool midi2_enable = true;
 module_param(midi2_enable, bool, 0444);
 MODULE_PARM_DESC(midi2_enable, "Enable MIDI 2.0 support.");
 
+static bool midi2_ump_probe = true;
+module_param(midi2_ump_probe, bool, 0444);
+MODULE_PARM_DESC(midi2_ump_probe, "Probe UMP v1.1 support at first.");
+
 /* stream direction; just shorter names */
 enum {
 	STR_OUT = SNDRV_RAWMIDI_STREAM_OUTPUT,
@@ -1136,10 +1140,12 @@  int snd_usb_midi_v2_create(struct snd_usb_audio *chip,
 		goto error;
 	}
 
-	err = parse_ump_endpoints(umidi);
-	if (err < 0) {
-		usb_audio_err(chip, "Failed to parse UMP endpoint\n");
-		goto error;
+	if (midi2_ump_probe) {
+		err = parse_ump_endpoints(umidi);
+		if (err < 0) {
+			usb_audio_err(chip, "Failed to parse UMP endpoint\n");
+			goto error;
+		}
 	}
 
 	err = create_blocks_from_gtb(umidi);