diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-06-26 15:00:20 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-06-26 15:00:20 +0200 |
commit | 59cad16bc6deb85bd2a464da92bbaae289f0286f (patch) | |
tree | 543a57c1852ec9800f80e418da5c1e739891f12a /sound | |
parent | ee48df57c920ab876dd8cf0dcfe5b8893b98e934 (diff) | |
download | linux-59cad16bc6deb85bd2a464da92bbaae289f0286f.tar.gz linux-59cad16bc6deb85bd2a464da92bbaae289f0286f.tar.bz2 linux-59cad16bc6deb85bd2a464da92bbaae289f0286f.zip |
ALSA: hda - Fix memory leaks at module unload
Some caches aren't released properly at module unloading time.
Cc: <stable@vger.kernel.org> [v3.4+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 7504e62188d6..854dd0c25f89 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -1184,6 +1184,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) { if (!codec) return; + snd_hda_jack_tbl_clear(codec); restore_init_pincfgs(codec); #ifdef CONFIG_SND_HDA_POWER_SAVE cancel_delayed_work(&codec->power_work); @@ -1192,6 +1193,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) list_del(&codec->list); snd_array_free(&codec->mixers); snd_array_free(&codec->nids); + snd_array_free(&codec->cvt_setups); snd_array_free(&codec->conn_lists); snd_array_free(&codec->spdif_out); codec->bus->caddr_tbl[codec->addr] = NULL; |