linux/sound/firewire
Takashi Sakamoto 99d7355914 ALSA: fireworks: serialize transactions to update connections at bus reset
In IEC 61883-1, at bus-reset, applications can continue isochronous
streaming by updating connections. In ALSA fireworks driver, the
operation is executed in 'update' handler for bus driver.

The connection resources are also changed in process contexts of PCM/MIDI
applications. Therefore, bus-reset handling has race condition
against connection. Current ALSA fireworks driver has a bug for the
condition.

This commit fixes the bug, by expand critical section with mutex. As a
result, connection updating operation in bus-reset handler and connection
changing operation in process context are serialized.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-02-20 15:46:38 +01:00
..
bebob ALSA: bebob: give up updating streams at bus reset handler 2016-02-20 15:45:54 +01:00
dice ALSA: dice: old firmware optimization for Dice notification 2016-02-12 09:52:49 +01:00
digi00x ALSA: firewire-digi00x: Drop bogus const type qualifier on dot_scrt() 2016-02-09 12:16:52 +01:00
fireworks ALSA: fireworks: serialize transactions to update connections at bus reset 2016-02-20 15:46:38 +01:00
oxfw ALSA: oxfw: use workqueue instead of tasklet for scs1x 2016-02-18 15:18:33 +01:00
tascam ALSA: firewire-tascam: remove needless member for control and status message 2016-02-05 12:47:14 +01:00
Kconfig ALSA: oxfw: obsolete scs1x module 2015-12-22 11:51:31 +01:00
Makefile ALSA: oxfw: obsolete scs1x module 2015-12-22 11:51:31 +01:00
amdtp-am824.c ALSA: firewire-lib: process_rx_data_blocks() can be static 2015-09-29 16:52:52 +02:00
amdtp-am824.h ALSA: firewire-lib: complete AM824 data block processing layer 2015-09-29 12:51:20 +02:00
amdtp-stream.c ALSA: firewire-lib: continue packet processing at detecting wrong CIP headers 2015-10-11 18:14:01 +02:00
amdtp-stream.h ALSA: firewire-lib: complete AM824 data block processing layer 2015-09-29 12:51:20 +02:00
cmp.c ALSA: firewire-lib: fix kerneldoc errors 2014-11-18 18:10:23 +01:00
cmp.h ALSA: firewire-lib: Add a new function to check others' connection 2014-05-26 14:22:46 +02:00
fcp.c ALSA: firewire-lib: rename 'amdtp' to 'amdtp-stream' to prepare for functional separation 2015-09-29 12:47:11 +02:00
fcp.h ALSA: firewire-lib: Add some AV/C general commands 2014-05-26 14:23:13 +02:00
isight.c ALSA: pcm: Add snd_pcm_stop_xrun() helper 2014-11-09 18:20:40 +01:00
iso-resources.c ALSA: firewire-lib: leave unit reference counting completely 2015-03-10 15:27:19 +01:00
iso-resources.h
lib.c ALSA: firewire-lib: avoid NULL pointer dereference after closing MIDI port 2015-10-19 11:58:21 +02:00
lib.h ALSA: firewire-lib: avoid endless loop to transfer MIDI messages at fatal error 2015-10-09 09:57:06 +02:00
packets-buffer.c
packets-buffer.h