From: Thomas Croft thomasmcft@gmail.com
[ Upstream commit dbe05428c4e54068a86e7e02405f3b30b1d2b3dd ]
Several months ago, Joshua Grisham submitted a patch [1] for several ALC298 based sound cards.
The entry for the LG gram 16 in the alc269_fixup_tbl only matches the Subsystem ID for the 16Z90R-Q and 16Z90R-K models [2]. My 16Z90R-A has a different Subsystem ID [3]. I'm not sure why these IDs differ, but I speculate it's due to the NVIDIA GPU included in the 16Z90R-A model that isn't present in the other models.
I applied the patch to the latest Arch Linux kernel and the card was initialized as expected.
[1]: https://lore.kernel.org/linux-sound/20240909193000.838815-1-josh@joshuagrish... [2]: https://linux-hardware.org/?id=pci:8086-51ca-1854-0488 [3]: https://linux-hardware.org/?id=pci:8086-51ca-1854-0489
Signed-off-by: Thomas Croft thomasmcft@gmail.com Link: https://patch.msgid.link/20250804151457.134761-2-thomasmcft@gmail.com Signed-off-by: Takashi Iwai tiwai@suse.de Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
**Backport Status: YES**
This commit is a strong candidate for backporting to stable kernel trees for the following reasons:
## Analysis of the Commit
### 1. **Bug Fix Nature** This commit fixes a hardware enablement issue where the LG gram 16Z90R-A laptop's audio hardware was not properly initialized. The existing quirk table entry only covered subsystem IDs 0x0488 (for 16Z90R-Q and 16Z90R-K models) but missed ID 0x0489 (for the 16Z90R-A model with NVIDIA GPU).
### 2. **Minimal and Contained Change** The change is extremely minimal - it adds exactly **one line** to the quirk table: ```c SND_PCI_QUIRK(0x1854, 0x0489, "LG gram 16 (16Z90R-A)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS), ```
### 3. **Low Risk of Regression** - The change only affects devices with the specific PCI subsystem ID (0x1854:0x0489) - It reuses an existing, proven fixup (`ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS`) that's already used for similar LG gram models - The fixup function `alc298_fixup_samsung_amp_v2_4_amps` initializes speaker amplifiers, which is critical for proper audio output - No architectural changes or new features are introduced
### 4. **User Impact** Without this fix, users of the LG gram 16Z90R-A laptop experience: - Non-functional or improperly initialized audio hardware - Potential inability to use speakers or headphones correctly - Poor user experience requiring manual workarounds
### 5. **Proven Solution** - The commit message indicates the patch was tested on Arch Linux kernel - The fixup is identical to what's used for other 16Z90R variants (0x0488) and 17ZD90R (0x048a) - The Samsung amp v2 with 4 amplifiers initialization is a known working solution for this hardware family
### 6. **Hardware Enablement** This is a classic hardware enablement fix that allows existing kernel functionality to work with a specific hardware variant. Such fixes are routinely backported to stable kernels to ensure hardware compatibility.
The commit follows stable kernel criteria perfectly: it's a small, targeted fix for a real hardware issue that affects users, with minimal risk of introducing regressions since it only activates for one specific hardware ID.
sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 2627e2f49316..8544fbd816fc 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -11398,6 +11398,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1854, 0x0440, "LG CQ6", ALC256_FIXUP_HEADPHONE_AMP_VOL), SND_PCI_QUIRK(0x1854, 0x0441, "LG CQ6 AIO", ALC256_FIXUP_HEADPHONE_AMP_VOL), SND_PCI_QUIRK(0x1854, 0x0488, "LG gram 16 (16Z90R)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS), + SND_PCI_QUIRK(0x1854, 0x0489, "LG gram 16 (16Z90R-A)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS), SND_PCI_QUIRK(0x1854, 0x048a, "LG gram 17 (17ZD90R)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS), SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), SND_PCI_QUIRK(0x19e5, 0x320f, "Huawei WRT-WX9 ", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),