From 1716472d364ea872e73c52bd53ed0f13a3e4b188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 27 May 2010 21:20:48 +0000 Subject: [PATCH] try at unmuting the headphone pin complex when the jack is present, see ticket #6057 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36959 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp index ebb0c97f0a..e0483a738b 100644 --- a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp +++ b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp @@ -1117,6 +1117,12 @@ hda_codec_switch_handler(hda_codec* codec) hda_send_verbs(audioGroup->codec, &verb, &response, 1); disable = response & PIN_SENSE_PRESENCE_DETECT; TRACE("hda: sensed pin widget %ld, %d\n", widget.node_id, disable); + + uint32 ctrl = hda_widget_prepare_pin_ctrl(audioGroup, &widget, + true); + verb = MAKE_VERB(audioGroup->codec->addr, widget.node_id, + VID_SET_PIN_WIDGET_CONTROL, disable ? ctrl : 0); + hda_send_verbs(audioGroup->codec, &verb, NULL, 1); break; } @@ -1137,7 +1143,7 @@ hda_codec_switch_handler(hda_codec* codec) true); corb_t verb = MAKE_VERB(audioGroup->codec->addr, widget.node_id, VID_SET_PIN_WIDGET_CONTROL, disable ? 0 : ctrl); - hda_send_verbs(audioGroup->codec, &verb, NULL, 1); + hda_send_verbs(audioGroup->codec, &verb, NULL, 1); } }