diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index d9a89ced3c89..2cadf7c3b71b 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -3946,7 +3946,13 @@ static int stac92xx_init(struct hda_codec *codec) | |||
3946 | hda_nid_t nid = spec->pwr_nids[i]; | 3946 | hda_nid_t nid = spec->pwr_nids[i]; |
3947 | int pinctl, def_conf; | 3947 | int pinctl, def_conf; |
3948 | 3948 | ||
3949 | if (is_nid_hp_pin(cfg, nid) && spec->hp_detect) | 3949 | /* power on when no jack detection is available */ |
3950 | if (!spec->hp_detect) { | ||
3951 | stac_toggle_power_map(codec, nid, 1); | ||
3952 | continue; | ||
3953 | } | ||
3954 | |||
3955 | if (is_nid_hp_pin(cfg, nid)) | ||
3950 | continue; /* already has an unsol event */ | 3956 | continue; /* already has an unsol event */ |
3951 | 3957 | ||
3952 | pinctl = snd_hda_codec_read(codec, nid, 0, | 3958 | pinctl = snd_hda_codec_read(codec, nid, 0, |
@@ -3955,8 +3961,10 @@ static int stac92xx_init(struct hda_codec *codec) | |||
3955 | * any attempts on powering down a input port cause the | 3961 | * any attempts on powering down a input port cause the |
3956 | * referenced VREF to act quirky. | 3962 | * referenced VREF to act quirky. |
3957 | */ | 3963 | */ |
3958 | if (pinctl & AC_PINCTL_IN_EN) | 3964 | if (pinctl & AC_PINCTL_IN_EN) { |
3965 | stac_toggle_power_map(codec, nid, 1); | ||
3959 | continue; | 3966 | continue; |
3967 | } | ||
3960 | def_conf = snd_hda_codec_read(codec, nid, 0, | 3968 | def_conf = snd_hda_codec_read(codec, nid, 0, |
3961 | AC_VERB_GET_CONFIG_DEFAULT, 0); | 3969 | AC_VERB_GET_CONFIG_DEFAULT, 0); |
3962 | def_conf = get_defcfg_connect(def_conf); | 3970 | def_conf = get_defcfg_connect(def_conf); |