ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sat, 15 Dec 2018 10:03:19 +0000 (19:03 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sun, 16 Dec 2018 09:10:18 +0000 (10:10 +0100)
commitada79fa5a0b374dd2c2262137c734da7524a8263
treeb603eabf4f35b31dcea37649905e1e0297962ee1
parent576d28812d82e94e2836632ff7e2d093099a1139
ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet

In IEC 61883-1/6 engine of ALSA firewire stack, a packet handler has a
second argument for 'the number of bytes in payload of isochronous
packet'. However, an incoming packet handler without CIP header uses the
value as 'the number of quadlets in the payload'. This brings userspace
applications to receive the number of PCM frames as four times against
real time.

This commit fixes the bug.

Cc: <stable@vger.kernel.org> # v4.12+
Fixes: 3b196c394dd ('ALSA: firewire-lib: add no-header packet processing')
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/amdtp-stream.c