[PATCH AUTOSEL 6.19-6.1] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IAH10
From: Sasha Levin
Date: Tue Apr 14 2026 - 07:28:49 EST
From: songxiebing <songxiebing@xxxxxxxxxx>
[ Upstream commit f0541edb2e7333f320642c7b491a67912c1f65db ]
The bass speakers are not working, and add the following entry
in /etc/modprobe.d/snd.conf:
options snd-sof-intel-hda-generic hda_model=alc287-yoga9-bass-spk-pin
Fixes the bass speakers.
So add the quick ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN here.
Reported-by: Fernando Garcia Corona <fgarcor@xxxxxxxxx>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221317
Signed-off-by: songxiebing <songxiebing@xxxxxxxxxx>
Link: https://patch.msgid.link/20260405012651.133838-1-songxiebing@xxxxxxxxxx
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
LLM Generated explanations, may be completely bogus:
The fixup `ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN` was introduced in
v6.0-rc1, so it exists in all active stable trees (6.1.y, 6.6.y, 6.12.y,
etc.).
Record: [Fixup function exists since v6.0, present in all active stable
trees. Clean apply expected — this is a simple table entry addition.]
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
- **Subsystem:** ALSA/HDA — audio codec driver (IMPORTANT category —
affects laptop users)
- **Maintainer:** Takashi Iwai (signed off) — the ALSA subsystem
maintainer himself accepted this
- **Activity:** Very active — constant stream of quirk additions
Record: [ALSA/HDA, IMPORTANT criticality, accepted by subsystem
maintainer]
## PHASE 8: IMPACT AND RISK ASSESSMENT
### Step 8.1: WHO IS AFFECTED
Users of Lenovo Yoga Pro 7 14IAH10 laptops running Linux.
### Step 8.2: TRIGGER CONDITIONS
Every boot — bass speakers simply don't work without this quirk.
### Step 8.3: FAILURE MODE SEVERITY
Without the quirk: bass speakers are non-functional. This is a hardware
enablement issue.
Severity: MEDIUM (hardware not working, but has a workaround via
modprobe.d).
### Step 8.4: RISK-BENEFIT RATIO
- **Benefit:** HIGH — makes bass speakers work automatically for all
users of this laptop
- **Risk:** ESSENTIALLY ZERO — 1-line table entry, only affects matching
PCI SSID, uses proven fixup function
- **Ratio:** Excellent — high benefit, near-zero risk
Record: [High benefit, zero risk, clear positive ratio]
## PHASE 9: FINAL SYNTHESIS
### Step 9.1: COMPILE THE EVIDENCE
**FOR backporting:**
- Hardware quirk addition — explicit exception category for stable
- 1 line change, zero regression risk
- Uses well-tested fixup already applied to 7+ other Lenovo models
- Real user report with bugzilla entry
- Accepted by ALSA subsystem maintainer Takashi Iwai
- Fixup function exists in all active stable trees (since v6.0)
- Fixes non-working hardware for real users
**AGAINST backporting:**
- (None identified)
### Step 9.2: STABLE RULES CHECKLIST
1. Obviously correct and tested? **YES** — identical pattern to many
existing entries, user-confirmed workaround
2. Fixes a real bug? **YES** — bass speakers don't work
3. Important issue? **YES** — hardware doesn't function properly
4. Small and contained? **YES** — 1 line
5. No new features or APIs? **YES** — just a table entry
6. Can apply to stable? **YES** — the fixup function exists since v6.0
### Step 9.3: EXCEPTION CATEGORIES
This falls into the **Audio Codec Quirk** exception category —
`SND_PCI_QUIRK` entries for specific laptop models. These are explicitly
listed as automatic YES for stable.
## Verification
- [Phase 1] Parsed tags: Reported-by real user, Closes bugzilla link,
maintainer SOB (Takashi Iwai)
- [Phase 2] Diff analysis: +1 line SND_PCI_QUIRK table entry in
alc269_fixup_tbl[]
- [Phase 3] git log -S: ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN
introduced in commit 3790a3d6dbbc4 (v6.0-rc1)
- [Phase 3] Grep: fixup used by 7+ other Lenovo devices (lines 7571,
7591, 7604, 7607, 7614, 7643, 7927)
- [Phase 3] Recent file history: constant stream of similar quirk
additions
- [Phase 6] Fixup exists since v6.0, present in all active stable trees
(6.1.y, 6.6.y, 6.12.y)
- [Phase 7] Accepted by ALSA maintainer Takashi Iwai
- [Phase 8] Failure mode: non-functional bass speakers, severity MEDIUM,
zero regression risk
This is a textbook stable backport candidate — a single-line hardware
quirk addition to an existing driver, using an already-proven fixup
function, fixing real hardware for real users, with zero regression
risk.
**YES**
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 cb39054bfe79c..c023ca273b6d9 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -7641,6 +7641,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x38fd, "ThinkBook plus Gen5 Hybrid", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
SND_PCI_QUIRK(0x17aa, 0x390d, "Lenovo Yoga Pro 7 14ASP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
+ SND_PCI_QUIRK(0x17aa, 0x3911, "Lenovo Yoga Pro 7 14IAH10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
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),
--
2.53.0