diff options
author | Kailang Yang <kailang@realtek.com> | 2014-04-03 17:28:39 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-04-03 11:48:33 +0200 |
commit | 8314f22589297bdb100788112f901fe885edacbc (patch) | |
tree | 84734d68261ee339d8b5ee78357aa114e67bfdf7 /sound/pci | |
parent | 69dd89fd2b9406603d218cab8996cfb232d5b8b9 (diff) | |
download | op-kernel-dev-8314f22589297bdb100788112f901fe885edacbc.zip op-kernel-dev-8314f22589297bdb100788112f901fe885edacbc.tar.gz |
ALSA: hda/realtek - Fixed single output machine get empty hp sense
If it only has single output of HP out of machine.
The driver parser will copy hp_pins to line_out_pins.
hp_pins will empty for alc283_init and alc283_shutup functions.
This will cause not have value for hp_pin_sense.
Add check line_out_type code will solve it .
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index ea2351d..dba2972 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -3026,6 +3026,11 @@ static void alc283_init(struct hda_codec *codec) bool hp_pin_sense; int val; + if (!spec->gen.autocfg.hp_outs) { + if (spec->gen.autocfg.line_out_type == AC_JACK_HP_OUT) + hp_pin = spec->gen.autocfg.line_out_pins[0]; + } + alc283_restore_default_value(codec); if (!hp_pin) @@ -3062,6 +3067,11 @@ static void alc283_shutup(struct hda_codec *codec) bool hp_pin_sense; int val; + if (!spec->gen.autocfg.hp_outs) { + if (spec->gen.autocfg.line_out_type == AC_JACK_HP_OUT) + hp_pin = spec->gen.autocfg.line_out_pins[0]; + } + if (!hp_pin) { alc269_shutup(codec); return; |