Hi, On Sat, Jun 29, 2019, at 00:44, Takashi Iwai wrote: > On Fri, 28 Jun 2019 09:34:00 +0200, > Takashi Sakamoto wrote: > > > > Hi, > > > > On Fri, Jun 28, 2019, at 17:53, Takashi Iwai wrote: > > > On Fri, 28 Jun 2019 07:21:58 +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. > > > > > > > > Fixes: df075feefbd3 ("ALSA: firewire-lib: complete AM824 data block processing layer") > > > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.4+ > > > > Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> > > > > > > This doesn't seem applicable to the latest 5.2-rc tree due to your > > > recent refactoring. Could you resubmit the fix for 5.2? I'll resolve > > > the merge conflict in my side. > > > > Mmm. Do you actually encounter any conflict when applying this patch to > > your v5.2 tree? > > > > This patch includes changes for `sound/firewire/amdtp-am824.c`. On the other > > hand, my recent work is mainly for `sound/firewire/amdtp-stream.c`. Actually, > > the last change for `amdtp-am824.c` was done 2017-10-25. > > https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/sound/firewire/amdtp-am824.c?h=for-linus > > It's not about file conflicts but the compilation fails after the > patch. > sound/firewire/amdtp-am824.c: In function ‘read_midi_messages’: > sound/firewire/amdtp-am824.c:324:16: error: ‘struct amdtp_stream’ has > no member named ‘ctx_data’ > port = (8 - s->ctx_data.tx.first_dbc + s->data_block_counter + f) % > 8; > ^~ Oops, now I got it... I just checked its application but should have had compile test with old trees. But I'm in short vacation. The revised patch will be posted next Monday, sorry. Thanks Takashi Sakamoto