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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jan 2019 16:38:37 +0000 (17:38 +0100)
commit438b26705896e8a540b5f124c2ecd6a71fadf522
treee49c339363a54eb85e184db30e0eeb679225277c
parenta8be7cd59d37f8067a0eec305a52193983f7f246
ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet

commit ada79fa5a0b374dd2c2262137c734da7524a8263 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/firewire/amdtp-stream.c