From: Kai Vehmanen kai.vehmanen@linux.intel.com
[ Upstream commit e64826e5e367ad45539ab245b92f009ee165025c ]
The ALC233 codec on these Medion NM14LNL (SPRCHRGD 14 S2) systems requires a quirk to enable all speakers.
Tested-by: davplsm davpal@yahoo.com Link: https://github.com/thesofproject/linux/issues/5611 Signed-off-by: Kai Vehmanen kai.vehmanen@linux.intel.com Link: https://patch.msgid.link/20251212174658.752641-1-kai.vehmanen@linux.intel.co... Signed-off-by: Takashi Iwai tiwai@suse.de Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
## Analysis of Commit: ALSA: hda/realtek: enable woofer speakers on Medion NM14LNL
### 1. COMMIT MESSAGE ANALYSIS
- **Subject indicates:** Hardware quirk addition for speaker support - **Bug indicators:** Links to GitHub issue (thesofproject/linux/issues/5611) - a real bug report - **Testing indicators:** Has `Tested-by:` tag from the user who reported the issue - **Maintainer sign-off:** Signed by Kai Vehmanen (Intel) and Takashi Iwai (SUSE) - primary ALSA maintainers
### 2. CODE CHANGE ANALYSIS
The change is a **single line addition**: ```c SND_PCI_QUIRK(0x1e39, 0xca14, "MEDION NM14LNL", ALC233_FIXUP_MEDION_MTL_SPK), ```
This adds a PCI subsystem ID quirk entry to the `alc269_fixup_tbl[]` table: - Vendor ID: `0x1e39` - Subsystem ID: `0xca14` - Applies the existing `ALC233_FIXUP_MEDION_MTL_SPK` fixup
Notably, the same fixup is already used by another device visible in the diff: ```c SND_PCI_QUIRK(0x2782, 0x4900, "MEDION E15443", ALC233_FIXUP_MEDION_MTL_SPK), ```
This proves the fixup code already exists and is working in production.
### 3. CLASSIFICATION
This is a **hardware quirk addition** - one of the explicitly allowed exception categories for stable backports: - Not adding new features or APIs - Not adding new drivers - Simply enabling existing, tested functionality for a specific hardware model
### 4. SCOPE AND RISK ASSESSMENT
| Metric | Value | |--------|-------| | Lines added | 1 | | Lines removed | 0 | | Files changed | 1 | | Risk level | **EXTREMELY LOW** |
**Why low risk:** - Only affects Medion NM14LNL laptops (subsystem ID 0x1e39:0xca14) - Zero impact on any other hardware - Uses an already-proven fixup (`ALC233_FIXUP_MEDION_MTL_SPK`) - Well-understood, static quirk table pattern
### 5. USER IMPACT
- **Affected users:** Owners of Medion NM14LNL (SPRCHRGD 14 S2) laptops - **Problem without fix:** Woofer speakers don't work - **Severity:** Moderate-high for affected users (hardware they paid for doesn't function) - **Evidence of real bug:** GitHub issue with user testing confirms this is a real problem
### 6. STABILITY INDICATORS
- ✅ `Tested-by:` tag present - ✅ Maintained by experienced ALSA maintainers - ✅ Same fixup already in use by another Medion device - ✅ Follows established quirk addition pattern
### 7. DEPENDENCY CHECK
The only dependency is `ALC233_FIXUP_MEDION_MTL_SPK`, which already exists in the codebase (used by MEDION E15443). This fixup should be present in any stable kernel that has reasonably recent Realtek HDA updates.
---
## Summary
This commit is a **textbook example** of what should be backported to stable:
1. **Meets stable rules:** Obviously correct, fixes a real bug, extremely small scope, no new features 2. **Falls under explicit exception:** Hardware quirks are specifically allowed in stable 3. **Risk/benefit ratio:** Zero risk (affects only one laptop model), clear benefit (working speakers) 4. **Well-tested:** Has Tested-by tag and uses proven fixup code 5. **Clean application:** Single line addition to a quirk table, will apply cleanly
The fix enables non-functional speakers on a specific laptop model by adding a single quirk table entry that maps the hardware ID to an existing, proven fixup. This is precisely the type of low-risk, user- facing hardware fix that stable kernels should receive.
**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 a6d494dab5b6..43c80a8ad72e 100644 --- a/sound/hda/codecs/realtek/alc269.c +++ b/sound/hda/codecs/realtek/alc269.c @@ -7203,6 +7203,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1d72, 0x1945, "Redmi G", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC), + SND_PCI_QUIRK(0x1e39, 0xca14, "MEDION NM14LNL", ALC233_FIXUP_MEDION_MTL_SPK), SND_PCI_QUIRK(0x1ee7, 0x2078, "HONOR BRB-X M1010", ALC2XX_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x1f66, 0x0105, "Ayaneo Portable Game Player", ALC287_FIXUP_CS35L41_I2C_2), SND_PCI_QUIRK(0x2014, 0x800a, "Positivo ARN50", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),