linux/sound
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
..
aoa IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
arm IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
core [ALSA] Handle file operations during snd_card disconnects using static file->f_op 2006-10-06 20:23:04 +02:00
drivers IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
i2c [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
isa [ALSA] Fix memory leak in sound/isa/es18xx.c 2006-10-06 20:22:58 +02:00
mips IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
oss [PATCH] powerpc: irq change build breaks 2006-10-05 18:39:04 -07:00
parisc IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
pci [ALSA] emu10k1: Fix outl() in snd_emu10k1_resume_regs() 2006-10-06 20:23:03 +02:00
pcmcia IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ppc IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sparc IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
synth [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
usb [ALSA] Repair snd-usb-usx2y for usb 2.6.18 2006-10-06 20:23:02 +02:00
Kconfig
Makefile [PATCH] build sound/sound_firmware.c only for OSS 2006-09-29 09:18:24 -07:00
last.c
sound_core.c [PATCH] The scheduled removal of some OSS drivers 2006-10-04 07:55:32 -07:00
sound_firmware.c [PATCH] build sound/sound_firmware.c only for OSS 2006-09-29 09:18:24 -07:00