linux/sound/usb
Takashi Iwai f58161ba1b ALSA: usb-audio: Fix crash at re-preparing the PCM stream
There are bug reports of a crash with USB-audio devices when PCM
prepare is performed immediately after the stream is stopped via
trigger callback.  It turned out that the problem is that we don't
wait until all URBs are killed.

This patch adds a new function to synchronize the pending stop
operation on an endpoint, and calls in the prepare callback for
avoiding the crash above.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=49181

Reported-and-tested-by: Artem S. Tashkinov <t.artem@lycos.com>
Cc: <stable@vger.kernel.org> [v3.6]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-08 08:56:44 +01:00
..
6fire ALSA: print small buffers via %*ph[C] 2012-08-06 11:09:50 +02:00
caiaq ALSA: snd-usb-caiaq: initialize card pointer 2012-06-27 12:26:19 +02:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
usx2y mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
card.c ALSA: usb-audio: Use rwsem for disconnect protection 2012-10-30 11:07:00 +01:00
card.h ALSA: usb-audio: Fix races at disconnection 2012-10-30 11:06:54 +01:00
clock.c ALSA: snd-usb: fix clock source validity index 2012-08-01 10:24:16 +02:00
clock.h ALSA: usb-audio: simplify control interface access 2010-06-23 16:10:23 +02:00
debug.h ALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set 2011-05-18 11:44:35 +02:00
endpoint.c ALSA: usb-audio: Fix crash at re-preparing the PCM stream 2012-11-08 08:56:44 +01:00
endpoint.h ALSA: usb-audio: Fix crash at re-preparing the PCM stream 2012-11-08 08:56:44 +01:00
format.c ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk() 2012-02-15 14:58:15 +01:00
format.h ALSA: usb-audio: parse more format descriptors with structs 2010-05-27 09:48:31 +02:00
helper.c ALSA: snd-usb: Add quirks for Playback Designs devices 2012-09-04 11:31:14 +02:00
helper.h ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
Kconfig ALSA: snd-usb-6fire: Select missing SND_VMASTER option in Kconfig 2012-02-25 11:07:19 +01:00
Makefile ALSA: snd-usb: move code from urb.c to endpoint.c 2011-09-14 17:07:03 +02:00
midi.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
midi.h ALSA: usb-audio: add support for Akai MPD16 2010-05-21 17:12:30 +02:00
mixer_maps.c ALSA: snd_usb_audio: ignore ctrl errors on QuickCam Pro for Notebooks 2012-06-20 08:29:08 +02:00
mixer_quirks.c ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c 2012-10-30 11:07:05 +01:00
mixer_quirks.h ALSA: usb-mixer: factor out quirks 2010-03-12 12:20:26 +01:00
mixer.c ALSA: usb-audio: Use rwsem for disconnect protection 2012-10-30 11:07:00 +01:00
mixer.h ALSA: usb-audio: Rename and export mixer_vol_tlv 2012-04-24 08:01:27 +02:00
pcm.c ALSA: usb-audio: Fix crash at re-preparing the PCM stream 2012-11-08 08:56:44 +01:00
pcm.h ALSA: usb: refine delay information with USB frame counter 2011-09-12 10:30:20 +02:00
power.h ALSA: usbaudio: implement USB autosuspend 2011-03-11 14:59:29 +01:00
proc.c ALSA: usb-audio: Fix races at disconnection 2012-10-30 11:06:54 +01:00
proc.h ALSA: usb-audio: refactor code 2010-03-05 08:17:14 +01:00
quirks-table.h ALSA: usb-audio: Add TASCAM US122 MKII playback 2012-10-08 15:16:33 +02:00
quirks.c ALSA: snd-usb: Add quirks for Playback Designs devices 2012-09-04 11:31:14 +02:00
quirks.h ALSA: snd-usb: Add quirks for Playback Designs devices 2012-09-04 11:31:14 +02:00
stream.c ALSA: usb-audio: Fix races at disconnection 2012-10-30 11:06:54 +01:00
stream.h ALSA: snd-usb: re-order code 2011-09-14 17:07:02 +02:00
usbaudio.h ALSA: usb-audio: Use rwsem for disconnect protection 2012-10-30 11:07:00 +01:00