On Fri, 19 Feb 2016 01:55:50 +0100, Takashi Sakamoto wrote:
With a previous commit, ALSA oxfw driver retries transferring MIDI messages at transaction failure for scs1x. On the other hand, there're fatal transaction error. Then, MIDI messages never reach to the unit anymore. In this case, MIDI substream should be discontinued.
This commit stops MIDI transferring after the fatal error occurs. Unfortunately, unlike ALSA PCM functionality, ALSA rawmidi core has no feature to discontinue MIDI substream in kernel side, thus this commit just stops MIDI transferring without notifying it to userspace.
It's fine to take this, and I would take it as is for now. But we can extend the rawmidi somehow to deal with such an error, too. Maybe just having "error" flag in the rawmidi runtime and adding a helper function to set the error and stop the stream should work easily.
thanks,
Takashi