summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2024-11-29 10:45:42 +0100
committerTakashi Iwai <tiwai@suse.de>2024-11-29 11:07:37 +0100
commit3978d53df7236f0a517c2abeb43ddf6ac162cdd8 (patch)
tree4e840e44e8449fd5b59f9edd1a9eef2182dad8bf /sound
parentaaa55faa2495320e44bc643a917c701f2cc89ee7 (diff)
ALSA: ump: Don't open legacy substream for an inactive group
When a UMP Group is inactive, we shouldn't allow users to access it via the legacy MIDI access. Add the group active flag check and return -ENODEV if it's inactive. Link: https://patch.msgid.link/20241129094546.32119-2-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/core/ump.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/ump.c b/sound/core/ump.c
index 6d0aac6c763f..9f9ad106107f 100644
--- a/sound/core/ump.c
+++ b/sound/core/ump.c
@@ -1087,6 +1087,8 @@ static int snd_ump_legacy_open(struct snd_rawmidi_substream *substream)
guard(mutex)(&ump->open_mutex);
if (ump->legacy_substreams[dir][group])
return -EBUSY;
+ if (!ump->groups[group].active)
+ return -ENODEV;
if (dir == SNDRV_RAWMIDI_STREAM_OUTPUT) {
if (!ump->legacy_out_opens) {
err = snd_rawmidi_kernel_open(&ump->core, 0,