Takashi Sakamoto wrote: > +static void transmit_midi_msg(struct snd_ff *ff, unsigned int port) > ... > + /* Retrieve one MIDI byte to calculate length of the message. */ > + len = snd_rawmidi_transmit_peek(substream, buf, > + SND_FF_MAXIMIM_MIDI_QUADS); SND_FF_MAXIMIM_MIDI_QUADS does not have the value 1. > + /* Calculate consume bytes. */ > + consume = calculate_message_bytes(status); > + if (consume <= 0) > + return; As far as I can see, sending one of the "undefined" bytes can stop the stream permanently. Invalid bytes need to be acked to ignore/remove them. Regards, Clemens _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel