ALSA: oxfw: retry MIDI transferring for scs1x at transaction failure
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 24 Feb 2016 00:26:32 +0000 (09:26 +0900)
committerTakashi Iwai <tiwai@suse.de>
Wed, 24 Feb 2016 15:31:54 +0000 (16:31 +0100)
commitb4c23ab1cbfedbebf9f7eecd1bd8a7989f388649
tree09b0188e820d211a61482afec313e4ffb69d9f85
parentfb087eaaef72061b2bb4e35b70ab43865f541cad
ALSA: oxfw: retry MIDI transferring for scs1x at transaction failure

Currently, ALSA oxfw driver has a TODO to retry MIDI transferring
at transaction failure.

This commit achieves it. Current implementation uses snd_rawmidi_transmit()
to transfer messages, thus the target MIDI messages are not in buffer when
transaction failure is detected. Although we cannot use a pair of
snd_rawmidi_transmit_peek() and snd_ramwidi_transmit_ack(), the
messages are still in scs1x specific structure and the data is available
for retries.

This commit adds a member to the structure for the length of buffered
messages, and uses the value again at retries.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/oxfw/oxfw-scs1x.c