diff options
Diffstat (limited to 'sound/pci/hda/patch_conexant.c')
| -rw-r--r-- | sound/pci/hda/patch_conexant.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 3acb5824ad3..2bf99fc1cbf 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c @@ -445,8 +445,10 @@ static int conexant_init(struct hda_codec *codec)  static void conexant_free(struct hda_codec *codec)  { +	struct conexant_spec *spec = codec->spec; +	snd_hda_gen_free(&spec->gen);  	snd_hda_detach_beep_device(codec); -	kfree(codec->spec); +	kfree(spec);  }  static const struct snd_kcontrol_new cxt_capture_mixers[] = { @@ -4061,7 +4063,7 @@ static void cx_auto_init_digital(struct hda_codec *codec)  static int cx_auto_init(struct hda_codec *codec)  {  	struct conexant_spec *spec = codec->spec; -	/*snd_hda_sequence_write(codec, cx_auto_init_verbs);*/ +	snd_hda_gen_apply_verbs(codec);  	cx_auto_init_output(codec);  	cx_auto_init_input(codec);  	cx_auto_init_digital(codec); @@ -4466,6 +4468,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {  	SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410),  	SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410),  	SND_PCI_QUIRK(0x17aa, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC), +	SND_PCI_QUIRK(0x17aa, 0x397b, "Lenovo S205", CXT_FIXUP_STEREO_DMIC),  	{}  }; @@ -4497,6 +4500,7 @@ static int patch_conexant_auto(struct hda_codec *codec)  	if (!spec)  		return -ENOMEM;  	codec->spec = spec; +	snd_hda_gen_init(&spec->gen);  	switch (codec->vendor_id) {  	case 0x14f15045:  |