linux-sg2042/sound/firewire/fireworks
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
..
Makefile ALSA: fireworks/bebob/oxfw/dice: enable to make as built-in 2015-10-18 09:08:11 +02:00
fireworks.c ALSA: fireworks: serialize transactions to update connections at bus reset 2016-02-20 15:46:38 +01:00
fireworks.h ALSA: fireworks: change type of substream counter from atomic_t to unsigned int 2015-11-14 17:53:46 +01:00
fireworks_command.c ALSA: fireworks: use u32 type for be32_to_cpup() macro 2015-10-19 11:57:02 +02:00
fireworks_hwdep.c ALSA: fireworks: Use safer way to arrange ring buffer pointer 2014-06-04 14:35:40 +02:00
fireworks_midi.c ALSA: fireworks: change type of substream counter from atomic_t to unsigned int 2015-11-14 17:53:46 +01:00
fireworks_pcm.c ALSA: fireworks: change type of substream counter from atomic_t to unsigned int 2015-11-14 17:53:46 +01:00
fireworks_proc.c ALSA: fireworks: fix specifiers in format strings for propper output 2014-08-05 09:15:20 +02:00
fireworks_stream.c ALSA: fireworks: serialize transactions to update connections at bus reset 2016-02-20 15:46:38 +01:00
fireworks_transaction.c ALSA: firewire: Fix trivial typos in comments 2015-03-10 12:40:30 +01:00