kernel_optimize_test/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 [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
seq [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
control_compat.c [ALSA] Add missing compat ioctls for ALSA control API 2006-09-23 10:47:19 +02:00
control.c [ALSA] Return error if no user TLV is defined 2006-09-23 10:44:21 +02:00
device.c [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
hwdep_compat.c [ALSA] Remove xxx_t typedefs: Hwdep 2006-01-03 12:17:38 +01:00
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 [ALSA] sound core: Use SEEK_{SET,CUR,END} instead of hardcoded values 2006-09-23 10:47:43 +02:00
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 [ALSA] Clean up EXPORT_SYMBOL()s in snd module 2006-06-22 21:32:52 +02:00
Kconfig [ALSA] make CONFIG_SND_DYNAMIC_MINORS non-experimental 2006-06-28 19:30:54 +02:00
Makefile [ALSA] Remove kmalloc wrappers 2005-11-04 13:18:08 +01:00
memalloc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
memory.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
misc.c [ALSA] Clean up EXPORT_SYMBOL()s in snd module 2006-06-22 21:32:52 +02:00
pcm_compat.c [ALSA] Fix control/status mmap with shared PCM substream 2006-09-23 10:39:50 +02:00
pcm_lib.c [ALSA] Add O_APPEND flag support to PCM 2006-06-22 21:33:13 +02:00
pcm_memory.c [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
pcm_misc.c [ALSA] Move OSS-specific hw_params helper to snd-pcm-oss module 2006-06-22 21:33:05 +02:00
pcm_native.c [PATCH] Remove readv/writev methods and use aio_read/aio_write instead 2006-10-01 00:39:28 -07:00
pcm_timer.c [ALSA] Remove xxx_t typedefs: PCM 2006-01-03 12:17:43 +01:00
pcm.c [PATCH] maximum latency tracking: ALSA support 2006-10-01 00:39:19 -07:00
rawmidi_compat.c [ALSA] Remove xxx_t typedefs: Raw MIDI 2006-01-03 12:17:35 +01:00
rawmidi.c [ALSA] Fix substream selection in PCM and rawmidi 2006-09-23 10:39:59 +02:00
rtctimer.c [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
sgbuf.c [ALSA] Conversions from kmalloc+memset to k(z|c)alloc 2006-08-03 15:21:18 +02:00
sound_oss.c [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
sound.c [ALSA] Add pcm_class attribute to PCM sysfs entry 2006-09-23 10:46:32 +02:00
timer_compat.c [ALSA] Remove xxx_t typedefs: Timer 2006-01-03 12:17:34 +01:00
timer.c [ALSA] system timer: remove unused snd_timer_system_private.timer field 2006-09-23 10:38:17 +02:00