a9edfc6022
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> |
||
---|---|---|
.. | ||
ac97_codec.h | ||
ad1816a.h | ||
ad1848.h | ||
ainstr_fm.h | ||
ainstr_gf1.h | ||
ainstr_iw.h | ||
ainstr_simple.h | ||
ak4xxx-adda.h | ||
ak4114.h | ||
ak4117.h | ||
ak4531_codec.h | ||
asequencer.h | ||
asound_fm.h | ||
asound.h | ||
asoundef.h | ||
control.h | ||
core.h | ||
cs46xx_dsp_scb_types.h | ||
cs46xx_dsp_spos.h | ||
cs46xx_dsp_task_types.h | ||
cs46xx.h | ||
cs4231.h | ||
cs8403.h | ||
cs8427.h | ||
driver.h | ||
emu10k1_synth.h | ||
emu10k1.h | ||
emu8000_reg.h | ||
emu8000.h | ||
emux_legacy.h | ||
emux_synth.h | ||
es1688.h | ||
gus.h | ||
hdsp.h | ||
hdspm.h | ||
hwdep.h | ||
i2c.h | ||
info.h | ||
initval.h | ||
Kbuild | ||
memalloc.h | ||
minors.h | ||
mixer_oss.h | ||
mpu401.h | ||
opl3.h | ||
opl4.h | ||
pcm_oss.h | ||
pcm_params.h | ||
pcm-indirect.h | ||
pcm.h | ||
rawmidi.h | ||
sb16_csp.h | ||
sb.h | ||
seq_device.h | ||
seq_instr.h | ||
seq_kernel.h | ||
seq_midi_emul.h | ||
seq_midi_event.h | ||
seq_oss_legacy.h | ||
seq_oss.h | ||
seq_virmidi.h | ||
sfnt_info.h | ||
snd_wavefront.h | ||
soundfont.h | ||
sscape_ioctl.h | ||
tea575x-tuner.h | ||
tea6330t.h | ||
timer.h | ||
tlv.h | ||
trident.h | ||
typedefs.h | ||
uda1341.h | ||
util_mem.h | ||
version.h | ||
vx_core.h | ||
wavefront_fx.h | ||
wavefront.h | ||
ymfpci.h |