diff options
author | 2020-03-16 10:05:06 +0100 | |
---|---|---|
committer | 2020-03-16 10:06:40 +0100 | |
commit | 6c3171ef76a0bad892050f6959a7eac02fb16df7 (patch) | |
tree | 0b1b6116b39e07a7f447cf5dcfdd9f7a6d771e0f /sound/core/seq | |
parent | ALSA: seq: virmidi: Fix running status after receiving sysex (diff) | |
download | linux-6c3171ef76a0bad892050f6959a7eac02fb16df7.tar.gz linux-6c3171ef76a0bad892050f6959a7eac02fb16df7.tar.bz2 linux-6c3171ef76a0bad892050f6959a7eac02fb16df7.zip |
ALSA: seq: oss: Fix running status after receiving sysex
This is a similar bug like the previous case for virmidi: the invalid
running status is kept after receiving a sysex message.
Again the fix is to clear the running status after handling the sysex.
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/3b4a4e0f232b7afbaf0a843f63d0e538e3029bfd.camel@domdv.de
Link: https://lore.kernel.org/r/20200316090506.23966-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/seq')
-rw-r--r-- | sound/core/seq/oss/seq_oss_midi.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/core/seq/oss/seq_oss_midi.c b/sound/core/seq/oss/seq_oss_midi.c index a88c235b2ea3..2ddfe2226651 100644 --- a/sound/core/seq/oss/seq_oss_midi.c +++ b/sound/core/seq/oss/seq_oss_midi.c @@ -602,6 +602,7 @@ send_midi_event(struct seq_oss_devinfo *dp, struct snd_seq_event *ev, struct seq len = snd_seq_oss_timer_start(dp->timer); if (ev->type == SNDRV_SEQ_EVENT_SYSEX) { snd_seq_oss_readq_sysex(dp->readq, mdev->seq_device, ev); + snd_midi_event_reset_decode(mdev->coder); } else { len = snd_midi_event_decode(mdev->coder, msg, sizeof(msg), ev); if (len > 0) |