diff options
author | Takashi Iwai <tiwai@suse.de> | 2024-11-29 10:45:42 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-11-29 11:07:37 +0100 |
commit | 3978d53df7236f0a517c2abeb43ddf6ac162cdd8 (patch) | |
tree | 4e840e44e8449fd5b59f9edd1a9eef2182dad8bf /sound | |
parent | aaa55faa2495320e44bc643a917c701f2cc89ee7 (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.c | 2 |
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, |