mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
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: <stable@vger.kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
9ea3356d79
commit
b0791dda81
@ -4415,9 +4415,9 @@ static int stac92xx_init(struct hda_codec *codec)
|
||||
def_conf = get_defcfg_connect(def_conf);
|
||||
/* skip any ports that don't have jacks since presence
|
||||
* detection is useless */
|
||||
if (def_conf != AC_JACK_PORT_COMPLEX) {
|
||||
if (def_conf != AC_JACK_PORT_NONE)
|
||||
stac_toggle_power_map(codec, nid, 1);
|
||||
if (def_conf != AC_JACK_PORT_NONE &&
|
||||
!is_jack_detectable(codec, nid)) {
|
||||
stac_toggle_power_map(codec, nid, 1);
|
||||
continue;
|
||||
}
|
||||
if (enable_pin_detect(codec, nid, STAC_PWR_EVENT)) {
|
||||
|
Loading…
Reference in New Issue
Block a user