From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Dawn Gardner <dawn.auroali@gmail.com>,
Takashi Iwai <tiwai@suse.de>, Sasha Levin <sashal@kernel.org>,
kailang@realtek.com, sbinding@opensource.cirrus.com,
chris.chiu@canonical.com, edip@medip.dev
Subject: [PATCH AUTOSEL 6.17] ALSA: hda/realtek: Fix mute led for HP Omen 17-cb0xxx
Date: Mon, 27 Oct 2025 20:38:51 -0400 [thread overview]
Message-ID: <20251028003940.884625-7-sashal@kernel.org> (raw)
In-Reply-To: <20251028003940.884625-1-sashal@kernel.org>
From: Dawn Gardner <dawn.auroali@gmail.com>
[ Upstream commit 2a786348004b34c5f61235d51c40c1c718b1f8f9 ]
This laptop uses the ALC285 codec, fixed by enabling
the ALC285_FIXUP_HP_MUTE_LED quirk
Signed-off-by: Dawn Gardner <dawn.auroali@gmail.com>
Link: https://patch.msgid.link/20251016184218.31508-3-dawn.auroali@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:
Based on my comprehensive analysis using semantic code analysis tools
and repository examination, here is my determination:
## **Backport Status: YES**
### Detailed Analysis:
#### 1. **Semantic Code Analysis Performed**
**Tools Used:**
- `mcp__semcode__find_function`: Located `alc285_fixup_hp_mute_led`
(sound/hda/codecs/realtek/alc269.c:1621-1626)
- `mcp__semcode__find_callers`: Verified no direct function callers
(called indirectly via HDA fixup framework)
- `Grep`: Analyzed quirk table structure and fixup definitions
- `git log`: Examined commit history and similar patches
**Key Findings:**
- The fixup function `alc285_fixup_hp_mute_led` is a simple wrapper that
calls:
- `alc285_fixup_hp_mute_led_coefbit()` - Sets mute LED coefficients
(idx=0x0b, mask/on=1<<3, off=0)
- `alc285_fixup_hp_coef_micmute_led()` - Sets micmute LED coefficients
(idx=0x19, mask/on=1<<13, off=0)
- Both functions only configure hardware-specific parameters during
`HDA_FIXUP_ACT_PRE_PROBE` action
- No behavioral changes, no new code paths, just hardware initialization
#### 2. **Code Changes Analysis**
**What Changed:**
```c
+ SND_PCI_QUIRK(0x103c, 0x8603, "HP Omen 17-cb0xxx",
ALC285_FIXUP_HP_MUTE_LED),
```
**Specifics:**
- Single line addition to `alc269_fixup_tbl[]` at
sound/hda/codecs/realtek/alc269.c:6400
- Adds PCI subsystem ID (0x103c, 0x8603) mapping for HP Omen 17-cb0xxx
- Uses existing fixup `ALC285_FIXUP_HP_MUTE_LED` (already defined at
line 3622)
- Verified PCI ID 0x8603 is unique - no conflicts in codebase
#### 3. **Impact Scope Analysis**
**User Impact:**
- Fixes broken mute LED functionality on HP Omen 17-cb0xxx laptops
- Only affects devices with exact PCI ID match (0x103c, 0x8603)
- Zero impact on other hardware - quirk table entries are device-
specific
**Dependency Analysis:**
- No new dependencies
- Uses existing, well-tested fixup infrastructure
- No changes to function signatures or data structures
#### 4. **Stable Tree Compliance Evidence**
**Pattern Analysis:**
Found multiple identical commits that were explicitly tagged for stable:
1. **d33c3471047fc** - "Fix mute led for HP Laptop 15-dw4xx" - Tagged
`Cc: <stable@vger.kernel.org>`
2. **956048a3cd9d2** - "Fix mute LED for HP Victus 16-s0xxx" - Tagged
`Cc: <stable@vger.kernel.org>`
3. **bd7814a4c0fd8** - "Fix mute LED for HP Victus 16-r1xxx" (implied
stable)
4. **a9dec0963187d** - "Fix mute LED for HP Victus 16-d1xxx" (implied
stable)
All follow identical pattern: single-line quirk table addition for HP
laptops.
#### 5. **Risk Assessment**
**Risk Level: MINIMAL**
- ✅ Bug fix (non-functional mute LED)
- ✅ Not a new feature
- ✅ No architectural changes
- ✅ Extremely contained scope (single hardware model)
- ✅ No performance implications
- ✅ No security implications
- ✅ Cannot cause regressions on other hardware
- ✅ Well-established code pattern
**Subsystem:** ALSA HDA - Non-critical, hardware-specific audio driver
#### 6. **Why This Should Be Backported**
1. **Fixes User-Visible Bug**: Mute LED doesn't work on specific laptop
model
2. **Follows Established Pattern**: Identical commits are routinely
backported to stable
3. **Zero Regression Risk**: Quirk only applies to exact PCI ID match
4. **Stable Tree Rules Compliant**:
- Bug fix ✓
- Small and contained ✓
- Obvious and correct ✓
- Tested (implied by author) ✓
5. **Author Note**: Although not explicitly tagged for stable, the
commit message clearly states "Fix" indicating bug fix intent
### Conclusion
This commit is an ideal candidate for stable tree backporting. It's a
minimal, safe, hardware-specific fix that follows the exact pattern of
dozens of similar commits that have been successfully backported. The
lack of explicit stable tag appears to be an oversight rather than
intentional exclusion.
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 8fb1a5c6ff6df..0f8170e1194e2 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -6390,6 +6390,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x854a, "HP EliteBook 830 G6", ALC285_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x85c6, "HP Pavilion x360 Convertible 14-dy1xxx", ALC295_FIXUP_HP_MUTE_LED_COEFBIT11),
SND_PCI_QUIRK(0x103c, 0x85de, "HP Envy x360 13-ar0xxx", ALC285_FIXUP_HP_ENVY_X360),
+ SND_PCI_QUIRK(0x103c, 0x8603, "HP Omen 17-cb0xxx", ALC285_FIXUP_HP_MUTE_LED),
SND_PCI_QUIRK(0x103c, 0x860c, "HP ZBook 17 G6", ALC285_FIXUP_HP_GPIO_AMP_INIT),
SND_PCI_QUIRK(0x103c, 0x860f, "HP ZBook 15 G6", ALC285_FIXUP_HP_GPIO_AMP_INIT),
SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT),
--
2.51.0
next prev parent reply other threads:[~2025-10-28 0:39 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-28 0:38 [PATCH AUTOSEL 6.17-6.1] smb/server: fix possible memory leak in smb2_read() Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-5.4] NFS4: Fix state renewals missing after boot Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-6.12] drm/amdgpu: remove two invalid BUG_ON()s Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-5.15] NFS: check if suid/sgid was cleared after a write as needed Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-6.12] HID: logitech-hidpp: Add HIDPP_QUIRK_RESET_HI_RES_SCROLL Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-5.4] ASoC: max98090/91: fixed max98091 ALSA widget powering up/down Sasha Levin
2025-10-28 0:38 ` Sasha Levin [this message]
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-5.10] RISC-V: clear hot-unplugged cores from all task mm_cpumasks to avoid rfence errors Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17] ASoC: nau8821: Avoid unnecessary blocking in IRQ handler Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-5.4] HID: quirks: avoid Cooler Master MM712 dongle wakeup bug Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17] drm/amdkfd: fix suspend/resume all calls in mes based eviction path Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-6.12] exfat: fix improper check of dentry.stream.valid_size Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17] io_uring: fix unexpected placement on same size resizing Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17] drm/amd: Disable ASPM on SI Sasha Levin
2025-10-28 0:38 ` [PATCH AUTOSEL 6.17-6.6] riscv: acpi: avoid errors caused by probing DT devices when ACPI is used Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.1] drm/amd/pm: Disable MCLK switching on SI at high pixel clocks Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.12] drm/amdgpu: hide VRAM sysfs attributes on GPUs without VRAM Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17] fs: return EOPNOTSUPP from file_setattr/file_getattr syscalls Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.12] NFS4: Apply delay_retrans to async operations Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.1] drm/amdgpu: Fix NULL pointer dereference in VRAM logic for APU devices Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17] ixgbe: handle IXGBE_VF_FEATURES_NEGOTIATE mbox cmd Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17] ixgbe: handle IXGBE_VF_GET_PF_LINK_STATE mailbox operation Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.6] HID: quirks: Add ALWAYS_POLL quirk for VRS R295 steering wheel Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17] HID: intel-thc-hid: intel-quickspi: Add ARL PCI Device Id's Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.12] HID: nintendo: Wait longer for initial probe Sasha Levin
2025-10-28 0:39 ` [PATCH AUTOSEL 6.17-6.1] smb/server: fix possible refcount leak in smb2_sess_setup() Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251028003940.884625-7-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=chris.chiu@canonical.com \
--cc=dawn.auroali@gmail.com \
--cc=edip@medip.dev \
--cc=kailang@realtek.com \
--cc=patches@lists.linux.dev \
--cc=sbinding@opensource.cirrus.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).