diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-11-21 09:11:50 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-11-21 09:17:30 +0100 |
commit | f208dba97f2f3ff2fbcbe771195061e2a0dac870 (patch) | |
tree | 0c9bf38427af8c3c44e6c8e47cbc0ecf7e11f009 /sound/pci/hda/hda_eld.c | |
parent | ALSA: hda - Fix double free of jack instances (diff) | |
download | linux-f208dba97f2f3ff2fbcbe771195061e2a0dac870.tar.xz linux-f208dba97f2f3ff2fbcbe771195061e2a0dac870.zip |
ALSA: hda - Release ELD proc file
Release ELD proc file when reconfigured so that no leak occurs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_eld.c')
-rw-r--r-- | sound/pci/hda/hda_eld.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c index d2b7ccca3bb3..8740e7be8b24 100644 --- a/sound/pci/hda/hda_eld.c +++ b/sound/pci/hda/hda_eld.c @@ -567,8 +567,17 @@ int snd_hda_eld_proc_new(struct hda_codec *codec, struct hdmi_eld *eld) snd_info_set_text_ops(entry, eld, hdmi_print_eld_info); entry->c.text.write = hdmi_write_eld_item; entry->mode |= S_IWUSR; + eld->proc_entry = entry; return 0; } -#endif +void snd_hda_eld_proc_free(struct hda_codec *codec, struct hdmi_eld *eld) +{ + if (!codec->bus->shutdown && eld->proc_entry) { + snd_device_free(codec->bus->card, eld->proc_entry); + eld->proc_entry = NULL; + } +} + +#endif /* CONFIG_PROC_FS */ |