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>
This commit is contained in:
parent
4ece7f6fd8
commit
213fa98981
|
@ -510,13 +510,13 @@ static void build_it_pkt_header(struct amdtp_stream *s, unsigned int cycle,
|
||||||
cip_header = NULL;
|
cip_header = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trace_amdtp_packet(s, cycle, cip_header, payload_length, data_blocks,
|
||||||
|
index);
|
||||||
|
|
||||||
if (!(s->flags & CIP_DBC_IS_END_EVENT)) {
|
if (!(s->flags & CIP_DBC_IS_END_EVENT)) {
|
||||||
s->data_block_counter =
|
s->data_block_counter =
|
||||||
(s->data_block_counter + data_blocks) & 0xff;
|
(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,
|
static int check_cip_header(struct amdtp_stream *s, const __be32 *buf,
|
||||||
|
|
Loading…
Reference in New Issue