Re: [PATCH] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IRH8
From: Takashi Iwai
Date: Tue Jun 09 2026 - 06:56:28 EST
On Mon, 08 Jun 2026 22:20:54 +0200,
Moritz Baron wrote:
>
> The Lenovo Yoga Pro 7 14IRH8 (ALC287 codec, subsystem ID 0x17aa:0x38b1)
> has bass speakers on pin 0x17 that are not routed through a DAC with
> volume control. This causes the bass speakers to play at full volume
> regardless of the volume slider position.
>
> Apply ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN which corrects the DAC
> routing for pin 0x17, enabling proper volume control. This is the same
> fix used for other Yoga Pro 7 models with identical audio topology
> (14APH8, 14AHP9, 14ASP10, 14IAH10).
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217949
>
> Co-developed-by: Felix Aljoscha Schnuell <felix.aljoscha.schnuell@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Felix Aljoscha Schnuell <felix.aljoscha.schnuell@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Moritz Baron <moritz.baron@xxxxxxxxxxxxxxxxxxxx>
> ---
> sound/hda/codecs/realtek/alc269.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> index dcbc669842e0..9b1e65f6d161 100644
> --- a/sound/hda/codecs/realtek/alc269.c
> +++ b/sound/hda/codecs/realtek/alc269.c
> @@ -7711,6 +7711,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> * use codec SSID to distinguish them
> */
> HDA_CODEC_QUIRK(0x17aa, 0x38cf, "Lenovo Yoga Pro 7 14IMH9", ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN),
> + HDA_CODEC_QUIRK(0x17aa, 0x38b1, "Lenovo Yoga Pro 7 14IRH8", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
Your machine seems to have a different PCI SSID (17aa:3852) from the
entry above, so it's not appropriate to put here.
Instead, put one before the entry of 17aa:3852 below, with a brief
comment that it's for avoiding the confliction with the PCI SSID
17aa:3852.
> SND_PCI_QUIRK(0x17aa, 0x3847, "Legion 7 16ACHG6", ALC287_FIXUP_LEGION_16ACHG6),
> SND_PCI_QUIRK(0x17aa, 0x384a, "Lenovo Yoga 7 15ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
> SND_PCI_QUIRK(0x17aa, 0x3852, "Lenovo Yoga 7 14ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
... the conflicting entry is found here above.
thanks,
Takashi