• Takashi Sakamoto's avatar
    ALSA: firewire-lib: fix to process MIDI conformant data channel for AM824 format · 973b059c
    Takashi Sakamoto authored
    In IEC 61883-6, 8 MIDI data streams are multiplexed into single MIDI
    conformant data channel. The index of stream is calculated by modulo 8
    of the value of data block counter. Therefore data block processing
    layer requires valid value of data block counter.
    
    In recent changes of ALSA IEC 61883-1/6 engine, the value of data block
    counter is changed before calling data block processing layer. This
    brings miss detection of MIDI messages in non-blocking transmission
    method is used.
    
    This commit fixes the bug by changing chached data block counter after
    calling data block processing layer.
    
    Fixes: e335425b ("ALSA: firewire-lib: split helper function to check incoming CIP header")
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    973b059c
amdtp-stream.c 29.3 KB