diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 23a698715e7f..fe2ba764d344 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -4166,7 +4166,10 @@ static int stac92xx_init(struct hda_codec *codec) | |||
4166 | stac92xx_auto_set_pinctl(codec, spec->autocfg.line_out_pins[0], | 4166 | stac92xx_auto_set_pinctl(codec, spec->autocfg.line_out_pins[0], |
4167 | AC_PINCTL_OUT_EN); | 4167 | AC_PINCTL_OUT_EN); |
4168 | /* fake event to set up pins */ | 4168 | /* fake event to set up pins */ |
4169 | stac_issue_unsol_event(codec, spec->autocfg.hp_pins[0]); | 4169 | if (cfg->hp_pins[0]) |
4170 | stac_issue_unsol_event(codec, cfg->hp_pins[0]); | ||
4171 | else if (cfg->line_out_pins[0]) | ||
4172 | stac_issue_unsol_event(codec, cfg->line_out_pins[0]); | ||
4170 | } else { | 4173 | } else { |
4171 | stac92xx_auto_init_multi_out(codec); | 4174 | stac92xx_auto_init_multi_out(codec); |
4172 | stac92xx_auto_init_hp_out(codec); | 4175 | stac92xx_auto_init_hp_out(codec); |
@@ -4688,8 +4691,13 @@ static int stac92xx_resume(struct hda_codec *codec) | |||
4688 | snd_hda_codec_resume_amp(codec); | 4691 | snd_hda_codec_resume_amp(codec); |
4689 | snd_hda_codec_resume_cache(codec); | 4692 | snd_hda_codec_resume_cache(codec); |
4690 | /* fake event to set up pins again to override cached values */ | 4693 | /* fake event to set up pins again to override cached values */ |
4691 | if (spec->hp_detect) | 4694 | if (spec->hp_detect) { |
4692 | stac_issue_unsol_event(codec, spec->autocfg.hp_pins[0]); | 4695 | if (spec->autocfg.hp_pins[0]) |
4696 | stac_issue_unsol_event(codec, spec->autocfg.hp_pins[0]); | ||
4697 | else if (spec->autocfg.line_out_pins[0]) | ||
4698 | stac_issue_unsol_event(codec, | ||
4699 | spec->autocfg.line_out_pins[0]); | ||
4700 | } | ||
4693 | return 0; | 4701 | return 0; |
4694 | } | 4702 | } |
4695 | 4703 | ||