ALSA: hda - Restore GPIO1 properly at resume with AD1984A
The commit 099db17e66
introduced a
regression at suspend/resume where the GPIO1 bit isn't properly
restored, thus the speaker output gets muted initially after resume.
The fix is simple, use the cached write for storing GPIO data.
Reference: Novell bnc#522764
https://bugzilla.novell.com/show_bug.cgi?id=522764
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
86de741660
Коммит
4012ade933
|
@ -3742,7 +3742,7 @@ static int ad1884a_mobile_master_sw_put(struct snd_kcontrol *kcontrol,
|
||||||
int mute = (!ucontrol->value.integer.value[0] &&
|
int mute = (!ucontrol->value.integer.value[0] &&
|
||||||
!ucontrol->value.integer.value[1]);
|
!ucontrol->value.integer.value[1]);
|
||||||
/* toggle GPIO1 according to the mute state */
|
/* toggle GPIO1 according to the mute state */
|
||||||
snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
|
snd_hda_codec_write_cache(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
|
||||||
mute ? 0x02 : 0x0);
|
mute ? 0x02 : 0x0);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче