The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
@ 2026-08-14 12:59 Zhang Heng
  2026-08-16 10:45 ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Zhang Heng @ 2026-08-14 12:59 UTC (permalink / raw)
  To: tiwai; +Cc: linux-sound, linux-kernel, Zhang Heng

The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
(for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
quirk for 17aa:391a is never applied.

This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
correct bass speaker fixup), leaving the internal speakers misconfigured
or silent.

Move the 17aa:391a entry to a position before the 17aa:38b4 entry and
change it from SND_PCI_QUIRK to HDA_CODEC_QUIRK, because it should match
on the codec subsystem ID rather than the PCI SSID.

With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
applied, restoring speaker output and auto-mute functionality.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
---
 sound/hda/codecs/realtek/alc269.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 3f0e276fc606..6e14fccbf585 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -8094,6 +8094,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x38cd, "Y790 VECO DUAL", ALC287_FIXUP_TAS2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x38d2, "Lenovo Yoga 9 14IMH9", ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x38d3, "Yoga S990-16 Pro IMH YC Dual", ALC287_FIXUP_TAS2781_I2C),
+	HDA_CODEC_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x38d4, "Yoga S990-16 Pro IMH VECO Dual", ALC287_FIXUP_TAS2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x38d5, "Yoga S990-16 Pro IMH YC Quad", ALC287_FIXUP_TAS2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x38d6, "Yoga S990-16 Pro IMH VECO Quad", ALC287_FIXUP_TAS2781_I2C),
@@ -8116,7 +8117,6 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x3911, "Lenovo Yoga Pro 7 14IAH10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3912, "Lenovo Xiaoxin 14 GT", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
-	SND_PCI_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x391f, "Yoga S990-16 pro Quad YC Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3920, "Yoga S990-16 pro Quad VECO Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3929, "Thinkbook 13x Gen 5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
  2026-08-14 12:59 [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering Zhang Heng
@ 2026-08-16 10:45 ` Takashi Iwai
  2026-08-17  7:25   ` Zhang Heng
  0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2026-08-16 10:45 UTC (permalink / raw)
  To: Zhang Heng; +Cc: tiwai, linux-sound, linux-kernel

On Fri, 14 Aug 2026 14:59:37 +0200,
Zhang Heng wrote:
> 
> The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
> 17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
> (for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
> quirk for 17aa:391a is never applied.
> 
> This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
> correct bass speaker fixup), leaving the internal speakers misconfigured
> or silent.
> 
> Move the 17aa:391a entry to a position before the 17aa:38b4 entry and
> change it from SND_PCI_QUIRK to HDA_CODEC_QUIRK, because it should match
> on the codec subsystem ID rather than the PCI SSID.
> 
> With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
> applied, restoring speaker output and auto-mute functionality.
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
> Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>

Could you put a comment line for the reason of unexpected positioning?


thanks,

Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
  2026-08-16 10:45 ` Takashi Iwai
@ 2026-08-17  7:25   ` Zhang Heng
  2026-08-17  7:58     ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Zhang Heng @ 2026-08-17  7:25 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: tiwai, linux-sound, linux-kernel




[-- Attachment #2: v2-0001-ALSA-hda-realtek-Fix-Lenovo-Yoga-Slim-7-14AKP10-quir.patch --]
[-- Type: text/x-patch, Size: 4268 bytes --]

From 9ee7af1cfe25ab0000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zhang Heng <zhangheng@kylinos.cn>
Date: Mon, 17 Aug 2026 10:00:00 +0800
Subject: [PATCH v2] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk
 ordering

The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
(for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
quirk for 17aa:391a is never applied.

This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
correct bass speaker fixup), leaving the internal speakers misconfigured
or silent.

Remove the 17aa:391a entry from its PCI-SSID-sorted position and add it as
an HDA_CODEC_QUIRK directly before the 17aa:38b4 entry, because it must
match on the codec subsystem ID rather than the PCI SSID and it has to win
over the colliding PCI quirk for the Legion Slim 7 16IRH8.  A comment is
added to explain the out-of-order placement, following the same style
already used for the 17aa:38bb and 17aa:38f9 codec-SSID overrides.

With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
applied, restoring speaker output and auto-mute functionality.

The original quirk added in commit e6c888202297 ("ALSA: hda/realtek: Add
quirk for Lenovo Yoga Slim 7 14AKP10") matched on the PCI SSID 17aa:391a,
but this model actually exposes PCI SSID 17aa:38b4 (shared with the Legion
Slim 7 16IRH8), so that quirk never matched and the bass speaker remained
silent.  Fix it by matching on the codec SSID and placing the entry before
the colliding 17aa:38b4 PCI quirk.

Fixes: e6c888202297 ("ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10")
Cc: stable@vger.kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
---
Changes in v2 (per review feedback from Takashi Iwai):
  - Move the 17aa:391a HDA_CODEC_QUIRK to before the 17aa:38b4 entry so
    that it actually takes precedence over the Legion Slim 7 16IRH8 PCI
    quirk; the v1 placement (after 17aa:38b4) could never be reached.
  - Add a comment explaining the unexpected, out-of-sort positioning.
  - Add Fixes: e6c888202297 (the original non-matching quirk) and
    Cc: stable@vger.kernel.org so the real fix is backported to v7.0.x.

 sound/hda/codecs/realtek/alc269.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 3f0e276fc606..9ee7af1cfe25 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -8069,6 +8069,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x38a8, "Y780P AMD VECO dual", ALC287_FIXUP_TAS2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x38a9, "Thinkbook 16P", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
 	SND_PCI_QUIRK(0x17aa, 0x38ab, "Thinkbook 16P", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
+	/* Lenovo Yoga Slim 7 14AKP10 shares PCI SSID 17aa:38b4 with Legion Slim 7
+	 * 16IRH8; use codec SSID to distinguish them
+	 */
+	HDA_CODEC_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x38b4, "Legion Slim 7 16IRH8", ALC287_FIXUP_CS35L41_I2C_2),
 	HDA_CODEC_QUIRK(0x17aa, 0x391c, "Lenovo Yoga 7 2-in-1 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	HDA_CODEC_QUIRK(0x17aa, 0x391d, "Lenovo Yoga 7 2-in-1 16AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
@@ -8116,7 +8120,6 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x3911, "Lenovo Yoga Pro 7 14IAH10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3912, "Lenovo Xiaoxin 14 GT", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
-	SND_PCI_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x391f, "Yoga S990-16 pro Quad YC Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3920, "Yoga S990-16 pro Quad VECO Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3929, "Thinkbook 13x Gen 5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
--
2.25.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
  2026-08-17  7:25   ` Zhang Heng
@ 2026-08-17  7:58     ` Takashi Iwai
  2026-08-17  9:47       ` [PATCH v3] " Zhang Heng
  0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2026-08-17  7:58 UTC (permalink / raw)
  To: Zhang Heng; +Cc: Takashi Iwai, tiwai, linux-sound, linux-kernel

On Mon, 17 Aug 2026 09:25:14 +0200,
Zhang Heng wrote:
> 
> 
> From 9ee7af1cfe25ab0000000000000000000000000 Mon Sep 17 00:00:00 2001
> From: Zhang Heng <zhangheng@kylinos.cn>
> Date: Mon, 17 Aug 2026 10:00:00 +0800
> Subject: [PATCH v2] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk
>  ordering
> 
> The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
> 17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
> (for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
> quirk for 17aa:391a is never applied.
> 
> This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
> correct bass speaker fixup), leaving the internal speakers misconfigured
> or silent.
> 
> Remove the 17aa:391a entry from its PCI-SSID-sorted position and add it as
> an HDA_CODEC_QUIRK directly before the 17aa:38b4 entry, because it must
> match on the codec subsystem ID rather than the PCI SSID and it has to win
> over the colliding PCI quirk for the Legion Slim 7 16IRH8.  A comment is
> added to explain the out-of-order placement, following the same style
> already used for the 17aa:38bb and 17aa:38f9 codec-SSID overrides.
> 
> With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
> applied, restoring speaker output and auto-mute functionality.
> 
> The original quirk added in commit e6c888202297 ("ALSA: hda/realtek: Add
> quirk for Lenovo Yoga Slim 7 14AKP10") matched on the PCI SSID 17aa:391a,
> but this model actually exposes PCI SSID 17aa:38b4 (shared with the Legion
> Slim 7 16IRH8), so that quirk never matched and the bass speaker remained
> silent.  Fix it by matching on the codec SSID and placing the entry before
> the colliding 17aa:38b4 PCI quirk.
> 
> Fixes: e6c888202297 ("ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10")
> Cc: stable@vger.kernel.org
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
> Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
> ---
> Changes in v2 (per review feedback from Takashi Iwai):
>   - Move the 17aa:391a HDA_CODEC_QUIRK to before the 17aa:38b4 entry so
>     that it actually takes precedence over the Legion Slim 7 16IRH8 PCI
>     quirk; the v1 placement (after 17aa:38b4) could never be reached.
>   - Add a comment explaining the unexpected, out-of-sort positioning.
>   - Add Fixes: e6c888202297 (the original non-matching quirk) and
>     Cc: stable@vger.kernel.org so the real fix is backported to v7.0.x.

This looks like an attachment, and I suppose it's accidental.
Could you resubmit properly?


thanks,

Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
  2026-08-17  7:58     ` Takashi Iwai
@ 2026-08-17  9:47       ` Zhang Heng
  2026-08-17 10:00         ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Zhang Heng @ 2026-08-17  9:47 UTC (permalink / raw)
  To: tiwai; +Cc: linux-kernel, linux-sound, Zhang Heng, stable

The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
(for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
quirk for 17aa:391a is never applied.

This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
correct bass speaker fixup), leaving the internal speakers misconfigured
or silent.

Remove the 17aa:391a entry from its PCI-SSID-sorted position and add it as
an HDA_CODEC_QUIRK directly before the 17aa:38b4 entry, because it must
match on the codec subsystem ID rather than the PCI SSID and it has to win
over the colliding PCI quirk for the Legion Slim 7 16IRH8.  A comment is
added to explain the out-of-order placement, following the same style
already used for the 17aa:38bb and 17aa:38f9 codec-SSID overrides.

With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
applied, restoring speaker output and auto-mute functionality.

The original quirk added in commit e6c888202297 ("ALSA: hda/realtek: Add
quirk for Lenovo Yoga Slim 7 14AKP10") matched on the PCI SSID 17aa:391a,
but this model actually exposes PCI SSID 17aa:38b4 (shared with the Legion
Slim 7 16IRH8), so that quirk never matched and the bass speaker remained
silent.  Fix it by matching on the codec SSID and placing the entry before
the colliding 17aa:38b4 PCI quirk.

Fixes: e6c888202297 ("ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10")
Cc: stable@vger.kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
---
Changes in v3 (per review feedback from Takashi Iwai):
  - Move the 17aa:391a HDA_CODEC_QUIRK to before the 17aa:38b4 entry so
    that it actually takes precedence over the Legion Slim 7 16IRH8 PCI
    quirk; the v1 placement (after 17aa:38b4) could never be reached.
  - Add a comment explaining the unexpected, out-of-sort positioning.
  - Add Fixes: e6c888202297 (the original non-matching quirk) and
    Cc: stable@vger.kernel.org so the real fix is backported to v7.0.x.

 sound/hda/codecs/realtek/alc269.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 3f0e276fc606..9ee7af1cfe25 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -8069,6 +8069,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x38a8, "Y780P AMD VECO dual", ALC287_FIXUP_TAS2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x38a9, "Thinkbook 16P", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
 	SND_PCI_QUIRK(0x17aa, 0x38ab, "Thinkbook 16P", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
+	/* Lenovo Yoga Slim 7 14AKP10 shares PCI SSID 17aa:38b4 with Legion Slim 7
+	 * 16IRH8; use codec SSID to distinguish them
+	 */
+	HDA_CODEC_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x38b4, "Legion Slim 7 16IRH8", ALC287_FIXUP_CS35L41_I2C_2),
 	HDA_CODEC_QUIRK(0x17aa, 0x391c, "Lenovo Yoga 7 2-in-1 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	HDA_CODEC_QUIRK(0x17aa, 0x391d, "Lenovo Yoga 7 2-in-1 16AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
@@ -8116,7 +8120,6 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x3911, "Lenovo Yoga Pro 7 14IAH10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3912, "Lenovo Xiaoxin 14 GT", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
-	SND_PCI_QUIRK(0x17aa, 0x391a, "Lenovo Yoga Slim 7 14AKP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	SND_PCI_QUIRK(0x17aa, 0x391f, "Yoga S990-16 pro Quad YC Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3920, "Yoga S990-16 pro Quad VECO Quad", ALC287_FIXUP_TXNW2781_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3929, "Thinkbook 13x Gen 5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
  2026-08-17  9:47       ` [PATCH v3] " Zhang Heng
@ 2026-08-17 10:00         ` Takashi Iwai
  0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2026-08-17 10:00 UTC (permalink / raw)
  To: Zhang Heng; +Cc: tiwai, linux-kernel, linux-sound, stable

On Mon, 17 Aug 2026 11:47:08 +0200,
Zhang Heng wrote:
> 
> The Yoga Slim 7 14AKP10 has a PCI SSID of 17aa:38b4 but a codec SSID of
> 17aa:391a. The current quirk table contains a PCI quirk for 17aa:38b4
> (for the Legion Slim 7 16IRH8) which matches first, so the codec-specific
> quirk for 17aa:391a is never applied.
> 
> This results in the wrong fixup being used (CS35L41_I2C_2 instead of the
> correct bass speaker fixup), leaving the internal speakers misconfigured
> or silent.
> 
> Remove the 17aa:391a entry from its PCI-SSID-sorted position and add it as
> an HDA_CODEC_QUIRK directly before the 17aa:38b4 entry, because it must
> match on the codec subsystem ID rather than the PCI SSID and it has to win
> over the colliding PCI quirk for the Legion Slim 7 16IRH8.  A comment is
> added to explain the out-of-order placement, following the same style
> already used for the 17aa:38bb and 17aa:38f9 codec-SSID overrides.
> 
> With this change, the correct ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN is
> applied, restoring speaker output and auto-mute functionality.
> 
> The original quirk added in commit e6c888202297 ("ALSA: hda/realtek: Add
> quirk for Lenovo Yoga Slim 7 14AKP10") matched on the PCI SSID 17aa:391a,
> but this model actually exposes PCI SSID 17aa:38b4 (shared with the Legion
> Slim 7 16IRH8), so that quirk never matched and the bass speaker remained
> silent.  Fix it by matching on the codec SSID and placing the entry before
> the colliding 17aa:38b4 PCI quirk.
> 
> Fixes: e6c888202297 ("ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10")
> Cc: stable@vger.kernel.org
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=221298
> Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
> ---

Applied now.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-08-17 10:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-14 12:59 [PATCH] ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering Zhang Heng
2026-08-16 10:45 ` Takashi Iwai
2026-08-17  7:25   ` Zhang Heng
2026-08-17  7:58     ` Takashi Iwai
2026-08-17  9:47       ` [PATCH v3] " Zhang Heng
2026-08-17 10:00         ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox