linux/sound/usb
Takashi Iwai e9ba389c5f ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream
A PCM capture stream on usb-audio causes a scheduling-while-atomic
BUG, as reported in the bugzilla entry below.  It's because
snd_usb_endpoint_start() is called at first at trigger START for a
capture stream, and this function contains the left-over EP
deactivation codes.  The problem doesn't happen for a playback stream
because the function is called at PCM prepare time, which can sleep.

This patch fixes the BUG by moving the EP deactivation code into the
PCM prepare callback.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46011
Cc: <stable@vger.kernel.org> [v3.5+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-08-16 08:04:07 +02:00
..
6fire ALSA: 6fire: use NULL instead of 0 for pointer assignment 2012-06-18 09:36:38 +02:00
caiaq ALSA: snd-usb-caiaq: initialize card pointer 2012-06-27 12:26:19 +02:00
misc
usx2y
Kconfig
Makefile
card.c
card.h ALSA: usb-audio: Fix substream assignments 2012-06-08 09:01:37 +02:00
clock.c ALSA: snd-usb: fix clock source validity index 2012-08-01 10:24:16 +02:00
clock.h
debug.h
endpoint.c ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream 2012-08-16 08:04:07 +02:00
endpoint.h
format.c
format.h
helper.c
helper.h
midi.c
midi.h
mixer.c
mixer.h
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: Convert table to preferred C99 format 2012-06-11 12:49:56 +02:00
mixer_quirks.h
pcm.c ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream 2012-08-16 08:04:07 +02:00
pcm.h
power.h
proc.c
proc.h
quirks-table.h ALSA: usb-audio: add BOSS GT-100 support 2012-06-25 11:11:24 +02:00
quirks.c
quirks.h
stream.c ALSA: usb-audio: Fix substream assignments 2012-06-08 09:01:37 +02:00
stream.h
usbaudio.h