projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4384f16
)
ALSA: seq: oss: Fix running status after receiving sysex
author
Takashi Iwai
<tiwai@suse.de>
Mon, 16 Mar 2020 09:05:06 +0000
(10:05 +0100)
committer
Takashi Iwai
<tiwai@suse.de>
Mon, 16 Mar 2020 09:06:40 +0000
(10:06 +0100)
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>
sound/core/seq/oss/seq_oss_midi.c
patch
|
blob
|
history
diff --git
a/sound/core/seq/oss/seq_oss_midi.c
b/sound/core/seq/oss/seq_oss_midi.c
index a88c235b2ea365edcbf07727d01b1e4c33fadbd9..2ddfe22266517ced0b06f3e14cce137d16ef1fe6 100644
(file)
--- 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)