The value of data block counter is not calculated for incoming packet without CIP header. This commit fixes the bug.
Fixes: 947b437e1263 ("ALSA: firewire-lib: unify packet handler for IR context") Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- sound/firewire/amdtp-stream.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c index 791efa5585c2..8a7da86650ea 100644 --- a/sound/firewire/amdtp-stream.c +++ b/sound/firewire/amdtp-stream.c @@ -674,6 +674,8 @@ static int handle_in_packet(struct amdtp_stream *s, unsigned int cycle, cip_header = NULL; data_blocks = payload_length / 4 / s->data_block_quadlets; syt = 0; + s->data_block_counter = + (s->data_block_counter + data_blocks) & 0xff; }
trace_amdtp_packet(s, cycle, cip_header, payload_length, data_blocks,