On Mon, 01 Jul 2019 16:43:53 +0200, Takashi Sakamoto wrote: > > 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. > > In fireworks, the value of data block counter in CIP header has a quirk > with firmware version v5.0.0, v5.7.3 and v5.8.0. This brings ALSA > IEC 61883-1/6 packet streaming engine to miss detection of MIDI > messages. > > This commit fixes the miss detection to modify the value of data block > counter for the modulo calculation. > > For maintainers, this bug exists since a commit 18f5ed365d3f ("ALSA: > fireworks/firewire-lib: add support for recent firmware quirk") in Linux > kernel v4.2. There're many changes since the commit. This fix can be > backported to Linux kernel v4.4 or later. I tagged a base commit to the > backport for your convenience. > > Besides, my work for Linux kernel v5.3 brings heavy code refactoring and > some structure members are renamed in 'sound/firewire/amdtp-stream.h'. > The content of this patch brings conflict when merging -rc tree with > this patch and the latest tree. I request maintainers to solve the > conflict to replace 'tx_first_dbc' with 'ctx_data.tx.first_dbc'. > > Fixes: df075feefbd3 ("ALSA: firewire-lib: complete AM824 data block processing layer") > Cc: <stable@xxxxxxxxxxxxxxx> # v4.4+ > Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Applied now. Thanks. Takashi