[ALSA] usb-audio: work around broken M-Audio MidiSport Uno firmware
authorClemens Ladisch <clemens@ladisch.de>
Mon, 7 May 2007 07:28:53 +0000 (09:28 +0200)
committerJaroslav Kysela <perex@suse.cz>
Fri, 11 May 2007 14:56:17 +0000 (16:56 +0200)
commitd05cc104320210e1c38ff9675c5038cffb2d86dc
tree2d2fecd77706207c66e5ae174374a28ec96e8ae1
parenta91214589e6527b18f52bc0b31253f9dfb4665e6
[ALSA] usb-audio: work around broken M-Audio MidiSport Uno firmware

The firmware of the M-Audio USB Uno MIDI Interface has, at least in
hardware revision 1.25, a bug that garbles its USB output.  When it
receives a Note On MIDI message that uses running status, the resulting
USB MIDI packet has a wrong CIN (4 instead of 9) and a wrong length
(2 bytes, the status byte is still missing).
This patch adds a workaround to track the CINs and the MIDI messages of
received USB MIDI packets to detect whether a packet with CIN 4 is a
correct SysEx packet or a buggy running status packet.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/usb/usbmidi.c