ALSA: usb-audio: Add midi2_ump_probe option

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>
This commit is contained in:
Takashi Iwai 2023-06-12 10:10:48 +02:00
parent 54852e8f40
commit 960a1149c8

View File

@ -27,6 +27,10 @@ static bool midi2_enable = true;
module_param(midi2_enable, bool, 0444); module_param(midi2_enable, bool, 0444);
MODULE_PARM_DESC(midi2_enable, "Enable MIDI 2.0 support."); 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 */ /* stream direction; just shorter names */
enum { enum {
STR_OUT = SNDRV_RAWMIDI_STREAM_OUTPUT, STR_OUT = SNDRV_RAWMIDI_STREAM_OUTPUT,
@ -1136,10 +1140,12 @@ int snd_usb_midi_v2_create(struct snd_usb_audio *chip,
goto error; goto error;
} }
err = parse_ump_endpoints(umidi); if (midi2_ump_probe) {
if (err < 0) { err = parse_ump_endpoints(umidi);
usb_audio_err(chip, "Failed to parse UMP endpoint\n"); if (err < 0) {
goto error; usb_audio_err(chip, "Failed to parse UMP endpoint\n");
goto error;
}
} }
err = create_blocks_from_gtb(umidi); err = create_blocks_from_gtb(umidi);