ALSA: firewire-lib: fix different data block counter between probed event and transferred isochronous packet

For IT context, tracepoints event is probed after calculating next data
block counter. This brings difference of data block counter between
the probed event and actual isochronous packet.

This commit fixes it.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
这个提交包含在:
Takashi Sakamoto
2019-07-07 21:07:56 +09:00
提交者 Takashi Iwai
父节点 4ece7f6fd8
当前提交 213fa98981

查看文件

@@ -510,13 +510,13 @@ static void build_it_pkt_header(struct amdtp_stream *s, unsigned int cycle,
cip_header = NULL;
}
trace_amdtp_packet(s, cycle, cip_header, payload_length, data_blocks,
index);
if (!(s->flags & CIP_DBC_IS_END_EVENT)) {
s->data_block_counter =
(s->data_block_counter + data_blocks) & 0xff;
}
trace_amdtp_packet(s, cycle, cip_header, payload_length, data_blocks,
index);
}
static int check_cip_header(struct amdtp_stream *s, const __be32 *buf,