ALSA: usb-audio: Add midi2_ump_probe option
authorTakashi Iwai <tiwai@suse.de>
Mon, 12 Jun 2023 08:10:48 +0000 (10:10 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 12 Jun 2023 16:22:29 +0000 (18:22 +0200)
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.

Link: https://lore.kernel.org/r/20230612081054.17200-5-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/midi2.c

index fad094e..13fa197 100644 (file)
@@ -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);