diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-06-26 15:00:20 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-16 09:03:20 -0700 |
commit | 354e550aab1074eaa87f0db4404f0edeab3ec591 (patch) | |
tree | 013d11cb6cca7ddcfd4421833f12c53a24bd2e9d /sound/pci/hda/hda_codec.c | |
parent | e4508b4cb7402c66e6f5a16df954bdff20b673b9 (diff) |
ALSA: hda - Fix memory leaks at module unload
commit 59cad16bc6deb85bd2a464da92bbaae289f0286f upstream.
Some caches aren't released properly at module unloading time.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-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 841475cc13b..926b455392c 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -1192,6 +1192,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); @@ -1200,6 +1201,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; |