0767e95bb9
When the last subscriber to a "Through" port has been removed, the subscribed destination ports might still be active, so it would be wrong to send "all sounds off" and "reset controller" events to them. The proper place for such a shutdown would be the closing of the actual MIDI port (and close_substream() in rawmidi.c already can do this). This also fixes a deadlock when dummy_unuse() tries to send events to its own port that is already locked because it is being freed. Reported-by: Peter Billam <peter@www.pjb.com.au> Cc: <stable@vger.kernel.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> |
||
---|---|---|
.. | ||
oss | ||
Kconfig | ||
Makefile | ||
seq.c | ||
seq_clientmgr.c | ||
seq_clientmgr.h | ||
seq_compat.c | ||
seq_device.c | ||
seq_dummy.c | ||
seq_fifo.c | ||
seq_fifo.h | ||
seq_info.c | ||
seq_info.h | ||
seq_lock.c | ||
seq_lock.h | ||
seq_memory.c | ||
seq_memory.h | ||
seq_midi.c | ||
seq_midi_emul.c | ||
seq_midi_event.c | ||
seq_ports.c | ||
seq_ports.h | ||
seq_prioq.c | ||
seq_prioq.h | ||
seq_queue.c | ||
seq_queue.h | ||
seq_system.c | ||
seq_system.h | ||
seq_timer.c | ||
seq_timer.h | ||
seq_virmidi.c |