summaryrefslogtreecommitdiff
path: root/sound/usb
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2023-06-12 10:10:48 +0200
committerTakashi Iwai <tiwai@suse.de>2023-06-12 18:22:29 +0200
commit960a1149c8fa70c221c70eaa13903ff873ba1873 (patch)
tree92360938f74fabd58592322e0c71df4d781087ad /sound/usb
parent54852e8f401a70b3a0197737122be523639dc62f (diff)
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>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/midi2.c14
1 files changed, 10 insertions, 4 deletions
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);