| From 6c3171ef76a0bad892050f6959a7eac02fb16df7 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 16 Mar 2020 10:05:06 +0100 |
| Subject: ALSA: seq: oss: Fix running status after receiving sysex |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 6c3171ef76a0bad892050f6959a7eac02fb16df7 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/seq/oss/seq_oss_midi.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/sound/core/seq/oss/seq_oss_midi.c |
| +++ b/sound/core/seq/oss/seq_oss_midi.c |
| @@ -615,6 +615,7 @@ send_midi_event(struct seq_oss_devinfo * |
| 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) |