summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2023-08-24 09:51:07 +0200
committerTakashi Iwai <tiwai@suse.de>2023-08-24 10:03:17 +0200
commitb2bcbd031d34d1ba1f491b9152474cf9f6d4d51b (patch)
treef0bc905e40200f14cad8bd2264a0d6d86038b32e /include/sound
parent1761f4cc114af531020ea190df6a24dd288a8221 (diff)
downloadlinux-stable-b2bcbd031d34d1ba1f491b9152474cf9f6d4d51b.tar.gz
linux-stable-b2bcbd031d34d1ba1f491b9152474cf9f6d4d51b.tar.bz2
linux-stable-b2bcbd031d34d1ba1f491b9152474cf9f6d4d51b.zip
ALSA: ump: Don't create unused substreams for static blocks
When the UMP Endpoint is declared as "static", that is, no dynamic reassignment of UMP Groups, it makes little sense to expose always all 16 groups with 16 substreams. Many of those substreams are disabled groups, hence they are useless, but applications don't know it and try to open / access all those substreams unnecessarily. This patch limits the number of UMP legacy rawmidi substreams only to the active groups. The behavior is changed only for the static endpoint (i.e. devices without UMP v1.1 feature implemented or with the static block flag is set). Fixes: 0b5288f5fe63 ("ALSA: ump: Add legacy raw MIDI support") Link: https://lore.kernel.org/r/20230824075108.29958-4-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/ump.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/ump.h b/include/sound/ump.h
index 44d2c2fd021d..91238dabe307 100644
--- a/include/sound/ump.h
+++ b/include/sound/ump.h
@@ -45,6 +45,7 @@ struct snd_ump_endpoint {
spinlock_t legacy_locks[2];
struct snd_rawmidi *legacy_rmidi;
struct snd_rawmidi_substream *legacy_substreams[2][SNDRV_UMP_MAX_GROUPS];
+ unsigned char legacy_mapping[SNDRV_UMP_MAX_GROUPS];
/* for legacy output; need to open the actual substream unlike input */
int legacy_out_opens;