linux/sound/core
Karsten Wiese a9edfc6022 [ALSA] Handle file operations during snd_card disconnects using static file->f_op
Alsa used to kmalloc one file->f_op per file per disconnecting snd_card.
This led to oopses sometimes when file->f_op was freed before __fput()
finished.
Patch adds a virtual device for disconnect: VDD.
VDD consists of:
	LIST_HEAD(shutdown_files)
	    protected by DEFINE_SPINLOCK(shutdown_mutex)
	static struct file_operations snd_shutdown_f_ops
	    and functions assigned to it
	Additions to struct snd_monitor_file
	    to specify if instance is hidden by VDD or not.
A VDD's instance is
	created in snd_card_disconnect() under the card->files_lock.
	cleaned up in snd_card_file_remove() under the card->files_lock.

Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-06 20:23:04 +02:00
..
oss
seq
control_compat.c
control.c
device.c
hwdep_compat.c
hwdep.c [ALSA] Dereference after free in snd_hwdep_release() 2006-10-06 20:22:59 +02:00
info_oss.c [PATCH] namespaces: utsname: use init_utsname when appropriate 2006-10-02 07:57:21 -07:00
info.c
init.c [ALSA] Handle file operations during snd_card disconnects using static file->f_op 2006-10-06 20:23:04 +02:00
isadma.c
Kconfig
Makefile
memalloc.c
memory.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
misc.c
pcm_compat.c
pcm_lib.c
pcm_memory.c
pcm_misc.c
pcm_native.c
pcm_timer.c
pcm.c
rawmidi_compat.c
rawmidi.c
rtctimer.c
sgbuf.c
sound_oss.c
sound.c
timer_compat.c
timer.c