mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-21 01:51:18 +00:00
ALSA: hda/realtek - Fix unexpected init_amp override
commit67791202c5
upstream. The commit1c76aa5fb4
("ALSA: hda/realtek - Allow skipping spec->init_amp detection") changed the way to assign spec->init_amp field that specifies the way to initialize the amp. Along with the change, the commit also replaced a few fixups that set spec->init_amp in HDA_FIXUP_ACT_PROBE with HDA_FIXUP_ACT_PRE_PROBE. This was rather aligning to the other fixups, and not supposed to change the actual behavior. However, this change turned out to cause a regression on FSC S7020, which hit exactly the above. The reason was that there is still one place that overrides spec->init_amp after HDA_FIXUP_ACT_PRE_PROBE call, namely in alc_ssid_check(). This patch fixes the regression by adding the proper spec->init_amp override check, i.e. verifying whether it's still ALC_INIT_UNDEFINED. Fixes:1c76aa5fb4
("ALSA: hda/realtek - Allow skipping spec->init_amp detection") Cc: <stable@vger.kernel.org> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207329 Link: https://lore.kernel.org/r/20200418190639.10082-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
16e373fe61
commit
0939d06af0
1 changed files with 5 additions and 3 deletions
|
@ -789,9 +789,11 @@ static void alc_ssid_check(struct hda_codec *codec, const hda_nid_t *ports)
|
||||||
{
|
{
|
||||||
if (!alc_subsystem_id(codec, ports)) {
|
if (!alc_subsystem_id(codec, ports)) {
|
||||||
struct alc_spec *spec = codec->spec;
|
struct alc_spec *spec = codec->spec;
|
||||||
codec_dbg(codec,
|
if (spec->init_amp == ALC_INIT_UNDEFINED) {
|
||||||
"realtek: Enable default setup for auto mode as fallback\n");
|
codec_dbg(codec,
|
||||||
spec->init_amp = ALC_INIT_DEFAULT;
|
"realtek: Enable default setup for auto mode as fallback\n");
|
||||||
|
spec->init_amp = ALC_INIT_DEFAULT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue