diff options
author | Takashi Iwai <tiwai@suse.de> | 2024-11-04 11:07:34 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-11-04 11:08:46 +0100 |
commit | c2d188e137e77294323132a760a4608321a36a70 (patch) | |
tree | 316f9b0b7ba9fc61b7a4c0ea1ff8770bccc90c9c /sound | |
parent | c9363bbb0f68dd1ddb8be7bbfe958cdfcd38d851 (diff) | |
download | linux-stable-c2d188e137e77294323132a760a4608321a36a70.tar.gz linux-stable-c2d188e137e77294323132a760a4608321a36a70.tar.bz2 linux-stable-c2d188e137e77294323132a760a4608321a36a70.zip |
ALSA: ump: Don't enumeration invalid groups for legacy rawmidi
The legacy rawmidi tries to enumerate all possible UMP groups
belonging to the UMP endpoint. But currently it shows all 16 ports
when the UMP endpoint is configured with static blocks, although most
of them may be unused.
There was already a fix for the sequencer client side to ignore such
groups in the commit 3bfd7c0ba184 ("ALSA: seq: ump: Skip useless ports
for static blocks"), and this commit is a similar fix for UMP
rawmidi devices; it adds simply the check for the validity of each
group that has been already parsed. (Note that the group info was
moved to snd_ump_endpoint.groups[] by the commit 0642a3c5cacc0321c755
("ALSA: ump: Update substream name from assigned FB names")).
Link: https://patch.msgid.link/20241104100735.16127-1-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, 1 insertions, 1 deletions
diff --git a/sound/core/ump.c b/sound/core/ump.c index cf22a17e38dd..7d59a0a9b037 100644 --- a/sound/core/ump.c +++ b/sound/core/ump.c @@ -1233,7 +1233,7 @@ static int fill_legacy_mapping(struct snd_ump_endpoint *ump) num = 0; for (i = 0; i < SNDRV_UMP_MAX_GROUPS; i++) - if (group_maps & (1U << i)) + if ((group_maps & (1U << i)) && ump->groups[i].valid) ump->legacy_mapping[num++] = i; return num; |