linux/sound/core/seq
Takashi Iwai 8a8dc7fd1e ALSA: seq: Fix delivery of UMP events to group ports
[ Upstream commit ff7b190aef ]

When an event with UMP message is sent to a UMP client, the EP port
receives always no matter where the event is sent to, as it's a
catch-all port.  OTOH, if an event is sent to EP port, and if the
event has a certain UMP Group, it should have been delivered to the
associated UMP Group port, too, but this was ignored, so far.

This patch addresses the behavior.  Now a UMP event sent to the
Endpoint port will be delivered to the subscribers of the UMP group
port the event is associated with.

The patch also does a bit of refactoring to simplify the code about
__deliver_to_subscribers().

Fixes: 177ccf811d ("ALSA: seq: Support MIDI 2.0 UMP Endpoint port")
Link: https://patch.msgid.link/20250511134528.6314-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-22 14:12:16 +02:00
..
oss ALSA: seq: oss: Fix races at processing SysEx messages 2025-01-09 13:32:06 +01:00
Kconfig ALSA: seq: Make dependency on UMP clearer 2025-02-08 09:52:07 +01:00
Makefile ALSA: seq: Bind UMP device 2023-05-23 12:11:33 +02:00
seq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_clientmgr.c ALSA: seq: Fix delivery of UMP events to group ports 2025-05-22 14:12:16 +02:00
seq_clientmgr.h ALSA: seq: Add UMP group filter 2023-05-23 12:11:38 +02:00
seq_compat.c ALSA: seq: Add ioctls for client UMP info query and setup 2023-05-23 12:11:36 +02:00
seq_dummy.c ALSA: seq: Allow suppressing UMP conversions 2023-05-23 12:11:32 +02:00
seq_fifo.c ALSA: seq: Fix assignment in if condition 2021-06-09 17:30:26 +02:00
seq_fifo.h ALSA: seq: Fix potential concurrent access to the deleted pool 2019-08-25 09:31:10 +02:00
seq_info.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_info.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_lock.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_lock.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
seq_memory.c ALSA: seq: Fix snd_seq_expand_var_event() call to user-space 2023-09-05 10:13:46 +02:00
seq_memory.h ALSA: seq: Add UMP support 2023-05-23 12:11:21 +02:00
seq_midi.c ALSA: seq: fix function cast warnings 2024-03-26 18:19:47 -04:00
seq_midi_emul.c ALSA: Use fallthrough pseudo-keyword 2020-07-09 13:01:29 +02:00
seq_midi_event.c ALSA: seq: More constifications 2020-01-05 16:14:29 +01:00
seq_ports.c ALSA: seq: Fix memory leak at error path in snd_seq_create_port() 2023-07-17 08:26:15 +02:00
seq_ports.h ALSA: seq: ump: Use the common RPN/bank conversion context 2024-09-08 07:54:30 +02:00
seq_prioq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_prioq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_queue.c ALSA: seq: Set upper limit of processed events 2021-12-07 17:52:28 +01:00
seq_queue.h ALSA: seq: Use bool for snd_seq_queue internal flags 2020-12-06 09:35:53 +01:00
seq_system.c ALSA: seq: ump: Notify port changes to system port 2023-06-12 18:22:32 +02:00
seq_system.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
seq_timer.c ALSA: seq: Fix race of snd_seq_timer_open() 2021-06-10 17:21:30 +02:00
seq_timer.h ALSA: seq: Fix concurrent access to queue current tick/time 2020-02-14 15:53:09 +01:00
seq_ump_client.c ALSA: seq: ump: Fix seq port updates per FB info notify 2024-12-14 19:59:48 +01:00
seq_ump_convert.c ALSA: seq: Fix delivery of UMP events to group ports 2025-05-22 14:12:16 +02:00
seq_ump_convert.h ALSA: seq: Fix delivery of UMP events to group ports 2025-05-22 14:12:16 +02:00
seq_virmidi.c ALSA: seq: fix function cast warnings 2024-03-26 18:19:47 -04:00