kernel-fxtec-pro1x/sound/firewire
Takashi Sakamoto 8b2d663975 ALSA: firewire-motu: fix construction of PCM frame for capture direction
commit f97a0944a72b26a2bece72516294e112a890f98a upstream.

In data blocks of common isochronous packet for MOTU devices, PCM
frames are multiplexed in a shape of '24 bit * 4 Audio Pack', described
in IEC 61883-6. The frames are not aligned to quadlet.

For capture PCM substream, ALSA firewire-motu driver constructs PCM
frames by reading data blocks byte-by-byte. However this operation
includes bug for lower byte of the PCM sample. This brings invalid
content of the PCM samples.

This commit fixes the bug.

Reported-by: Peter Sjöberg <autopeter@gmail.com>
Cc: <stable@vger.kernel.org> # v4.12+
Fixes: 4641c93940 ("ALSA: firewire-motu: add MOTU specific protocol layer")
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>
2019-03-19 13:12:41 +01:00
..
bebob ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 2019-03-19 13:12:41 +01:00
dice Merge branch 'for-next' into for-linus 2018-08-12 08:55:10 +02:00
digi00x ALSA: firewire-digi00x: fix memory leak of private data 2018-09-13 15:12:57 +02:00
fireface ALSA: fireface: fix for state to fetch PCM frames 2019-01-09 17:38:37 +01:00
fireworks ALSA: fireworks: fix memory leak of response buffer at error path 2018-09-17 13:41:14 +02:00
motu ALSA: firewire-motu: fix construction of PCM frame for capture direction 2019-03-19 13:12:41 +01:00
oxfw ALSA: oxfw: add support for APOGEE duet FireWire 2019-01-26 09:32:34 +01:00
tascam ALSA: firewire-tascam: fix memory leak of private data 2018-09-13 15:14:39 +02:00
amdtp-am824.c locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
amdtp-am824.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
amdtp-stream-trace.h ALSA: firewire-lib: use the same print format for 'without_header' tracepoints 2019-01-09 17:38:38 +01:00
amdtp-stream.c ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet 2019-01-09 17:38:37 +01:00
amdtp-stream.h Merge branch 'linus' into locking/core, to resolve conflicts 2017-11-07 10:32:44 +01:00
cmp.c
cmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fcp.c ALSA: firewire-lib/bebob/oxfw: improve response evaluation for AV/C commands 2017-04-05 21:37:23 +02:00
fcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isight.c ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() 2018-07-18 08:24:29 +02:00
iso-resources.c ALSA: firewire: fix NULL pointer dereference when releasing uninitialized data of iso-resource 2017-08-20 09:40:32 +02:00
iso-resources.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ALSA: oxfw: add support for APOGEE duet FireWire 2019-01-26 09:32:34 +01:00
lib.c ALSA: firewire-lib/firewire-tascam: localize async midi port 2017-04-14 14:50:26 +02:00
lib.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
packets-buffer.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
packets-buffer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00