Skip to content

Commit b0791dd

Browse files
committed
ALSA: hda/idt - Fix power-map for speaker-pins with some HP laptops
BIOS on some HP laptops don't set the speaker-pins as fixed but expose as jacks, and this confuses the driver as if these pins are jack-detectable. As a result, the machine doesn't get sounds from speakers because the driver prepares the power-map update via jack unsol events which never come up in reality. The bug was introduced in some time in 3.2 for enabling the power-mapping feature. This patch fixes the problem by replacing the check of the persistent power-map bits with a proper is_jack_detectable() call. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43240 Cc: <[email protected]> [v3.2+] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 9ea3356 commit b0791dd

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

sound/pci/hda/patch_sigmatel.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4415,9 +4415,9 @@ static int stac92xx_init(struct hda_codec *codec)
44154415
def_conf = get_defcfg_connect(def_conf);
44164416
/* skip any ports that don't have jacks since presence
44174417
* detection is useless */
4418-
if (def_conf != AC_JACK_PORT_COMPLEX) {
4419-
if (def_conf != AC_JACK_PORT_NONE)
4420-
stac_toggle_power_map(codec, nid, 1);
4418+
if (def_conf != AC_JACK_PORT_NONE &&
4419+
!is_jack_detectable(codec, nid)) {
4420+
stac_toggle_power_map(codec, nid, 1);
44214421
continue;
44224422
}
44234423
if (enable_pin_detect(codec, nid, STAC_PWR_EVENT)) {

0 commit comments

Comments
 (0)