diff options
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
| -rw-r--r-- | sound/pci/hda/hda_codec.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 7504e62188d6..51cb2a2e4fce 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; @@ -2333,6 +2335,8 @@ int snd_hda_codec_reset(struct hda_codec *codec)  	/* free only driver_pins so that init_pins + user_pins are restored */  	snd_array_free(&codec->driver_pins);  	restore_pincfgs(codec); +	snd_array_free(&codec->cvt_setups); +	snd_array_free(&codec->spdif_out);  	codec->num_pcms = 0;  	codec->pcm_info = NULL;  	codec->preset = NULL; | 
