mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-26 03:17:48 +00:00
ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages
Currently, when two MIDI trigger callbacks can be called immediately, transactions for the second MIDI messages can be postpone till next trigger callback. This is not good for real-time message transmission. This commit schedules work again at response handling callback if the MIDI substream still includes untransferred MIDI messages. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d3ef9cb93a
commit
e8a40d9bcb
@ -78,6 +78,9 @@ static void async_midi_port_callback(struct fw_card *card, int rcode,
|
||||
snd_rawmidi_transmit_ack(substream, port->consume_bytes);
|
||||
|
||||
port->idling = true;
|
||||
|
||||
if (!snd_rawmidi_transmit_empty(substream))
|
||||
schedule_work(&port->work);
|
||||
}
|
||||
|
||||
static void midi_port_work(struct work_struct *work)
|
||||
|
Loading…
Reference in New Issue
Block a user