mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
ALSA: firewire-lib: fix to check cycle continuity
The local helper function to compare the given pair of cycle count
evaluates them. If the left value is less than the right value, the
function returns negative value.
If the safe cycle is less than the current cycle, it is the case of
cycle lost. However, it is not currently handled properly.
This commit fixes the bug.
Cc: <stable@vger.kernel.org>
Fixes: 705794c53b
("ALSA: firewire-lib: check cycle continuity")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20240218033026.72577-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
41c25e193b
commit
77ce96543b
@ -951,7 +951,7 @@ static int generate_tx_packet_descs(struct amdtp_stream *s, struct pkt_desc *des
|
|||||||
// to the reason.
|
// to the reason.
|
||||||
unsigned int safe_cycle = increment_ohci_cycle_count(next_cycle,
|
unsigned int safe_cycle = increment_ohci_cycle_count(next_cycle,
|
||||||
IR_JUMBO_PAYLOAD_MAX_SKIP_CYCLES);
|
IR_JUMBO_PAYLOAD_MAX_SKIP_CYCLES);
|
||||||
lost = (compare_ohci_cycle_count(safe_cycle, cycle) > 0);
|
lost = (compare_ohci_cycle_count(safe_cycle, cycle) < 0);
|
||||||
}
|
}
|
||||||
if (lost) {
|
if (lost) {
|
||||||
dev_err(&s->unit->device, "Detect discontinuity of cycle: %d %d\n",
|
dev_err(&s->unit->device, "Detect discontinuity of cycle: %d %d\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user