linux-sg2042/sound
Takashi Sakamoto a2064710ba ALSA: firewire-lib: add buffer-over-run protection at receiving more data blocks than expected
In IEC 61883-6, the number of data blocks in a packet is limited up to
the value of SYT_INTERVAL. Current implementation is compliant to the
limitation, while it can cause buffer-over-run when the value of dbs
field in received packet is illegally large.

This commit adds a validator to detect such illegal packets to prevent
the buffer-over-run. Actually, the buffer is aligned to the size of memory
 page, thus this issue hardly causes system errors due to the room to page
alignment, as long as a few packets includes such jumbo payload; i.e.
a packet to several received packets.

Here, Behringer F-Control Audio 202 (based on OXFW 960) has a quirk to
postpone transferring isochronous packet till finish handling any
asynchronous packets. In this case, this model is lazy, transfers no
packets according to several cycle-start packets. After finishing, this
model pushes required data in next isochronous packet. As a result, the
packet include more data blocks than IEC 61883-6 defines.

To continue to support this model, this commit adds a new flag to extend
the length of calculated payload. This flag allows the size of payload
5 times as large as IEC 61883-6 defines. As a result, packets from this
model passed the validator successfully.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-05-23 09:13:18 +02:00
..
aoa ALSA: aoa: constify of_device_id array 2015-03-19 12:11:13 +01:00
arm ALSA: Deletion of checks before the function call "iounmap" 2015-01-04 15:13:45 +01:00
atmel ALSA: sound/atmel/ac97c.c: Add device tree support 2015-01-07 07:56:19 +01:00
core Merge branch 'topic/hdmi' into for-next 2015-05-22 16:04:45 +02:00
drivers Merge branch 'for-linus' into for-next 2015-03-09 08:42:00 +01:00
firewire ALSA: firewire-lib: add buffer-over-run protection at receiving more data blocks than expected 2015-05-23 09:13:18 +02:00
hda ALSA: hda - Move hda_i915.c from sound/pci/hda to sound/hda 2015-05-20 06:16:36 +02:00
i2c ALSA: ak411x: simplify snd_ak4113_create() a bit 2015-03-23 13:58:59 +01:00
isa sound: Deparenthesize negative error returns 2015-03-24 11:41:37 +01:00
mips ALSA: au1x00: fix error return code 2015-04-05 18:04:27 +02:00
oss sound: oss: fix build warning 2015-05-18 10:27:17 +02:00
parisc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
pci ALSA: hda - Move hda_i915.c from sound/pci/hda to sound/hda 2015-05-20 06:16:36 +02:00
pcmcia ALSA: vx: Fix missing kerneldoc parameter descriptions 2014-11-11 09:39:10 +01:00
ppc ALSA: ppc: keywest: drop using attach adapter 2015-05-18 11:25:44 +02:00
sh ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
soc ASoC: jack: create kctls according to jack pins info 2015-04-27 21:38:32 +02:00
sparc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
spi
synth ALSA: emux: Fix mutex deadlock in OSS emulation 2015-04-28 17:45:45 +02:00
usb ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module 2015-04-21 07:59:10 +02:00
Kconfig ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
Makefile ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
ac97_bus.c
last.c
sound_core.c
sound_firmware.c