From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Eren Demir <eren.demir2479090@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 Victus 15-fa1xxx (MB 8C2D)
Date: Mon, 3 Nov 2025 13:02:29 -0500 [thread overview]
Message-ID: <20251103180246.4097432-16-sashal@kernel.org> (raw)
In-Reply-To: <20251103180246.4097432-1-sashal@kernel.org>
From: Eren Demir <eren.demir2479090@gmail.com>
[ Upstream commit 28935ee5e4789ad86c08ba9f2426edd6203d13fa ]
The quirk for Victus 15-fa1xxx wasn't working on Victus 15-fa1031nt due to a different board id. This patch enables the existing quirk for the board id 8BC8.
Tested on HP Victus 15-fa1031nt (MB 8C2D). The LED behaviour works as intended.
Signed-off-by: Eren Demir <eren.demir2479090@gmail.com>
Link: https://patch.msgid.link/20251027110208.6481-1-eren.demir2479090@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 ANALYSIS COMPLETE
**RECOMMENDATION: YES**
### Summary
This commit should be backported to stable kernel trees (v6.15 and
later).
### Detailed Analysis
#### 1. SEMANTIC CODE ANALYSIS PERFORMED
**Tools Used:**
- `mcp__semcode__find_function`: Located the
`alc245_fixup_hp_mute_led_coefbit` function
(sound/hda/codecs/realtek/alc269.c:1524-1538)
- `mcp__semcode__find_callers`: Found 3 functions that call this fixup
- `mcp__semcode__find_calls`: Verified it only calls
`snd_hda_gen_add_mute_led_cdev`
- `mcp__semcode__grep_functions`: Confirmed the quirk table usage
- `Read` and `Grep`: Examined the quirk table structure and fixup
implementation
- `git log` and `git show`: Traced the history of the fixup and related
commits
**Findings:**
- The fixup function `alc245_fixup_hp_mute_led_coefbit` was introduced
in v6.15 (commit 22c7f77247a8)
- It's a simple function that configures mute LED coefficient values
during HDA_FIXUP_ACT_PRE_PROBE
- The function has been stable and well-tested across multiple HP Victus
laptop models
#### 2. CHANGE SCOPE ANALYSIS
**Code Changes:**
- **Location**: sound/hda/codecs/realtek/alc269.c:6578
- **Change**: Adds ONE line to the quirk table:
```c
SND_PCI_QUIRK(0x103c, 0x8c2d, "HP Victus 15-fa1xxx (MB 8C2D)",
ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
```
- **Pattern**: Follows established pattern used for 10+ other HP Victus
models (0x8bbe, 0x8bc8, 0x8bd4, 0x8c30, 0x8c99, 0x8c9c, 0x8d07, etc.)
#### 3. IMPACT ANALYSIS
**Affected Hardware:**
- Only affects HP Victus 15-fa1031nt laptops with motherboard ID 8C2D
(PCI ID 0x103c:0x8c2d)
- Zero impact on other hardware
**User-Visible Impact:**
- **Without patch**: Mute LED indicator does not work on this specific
laptop model
- **With patch**: Mute LED functions correctly as intended
**Call Graph Analysis:**
- The quirk is processed during `alc269_probe()` at device
initialization
- Uses existing, stable fixup infrastructure
- No new code paths introduced
#### 4. DEPENDENCY ANALYSIS
**Required Dependencies:**
- ✅ `alc245_fixup_hp_mute_led_coefbit` function (available since v6.15)
- ✅ `snd_hda_gen_add_mute_led_cdev` function (available since v6.15)
- ✅ Quirk table infrastructure (available for many years)
- ✅ `coef_mute_led_set` callback (available since v6.15)
**Minimum Kernel Version:** v6.15 (when the fixup function was
introduced)
#### 5. RISK ASSESSMENT
**Risk Level: VERY LOW**
Justification:
1. **Isolated change**: Only one line added to a static quirk table
2. **Hardware-specific**: Only affects one laptop model variant
3. **Proven pattern**: Same fixup used successfully for 10+ similar HP
models
4. **No architectural changes**: Uses existing infrastructure
5. **Well-tested**: Author tested on actual hardware (HP Victus
15-fa1031nt)
6. **No side effects**: Change cannot affect other hardware
#### 6. STABLE TREE COMPLIANCE
✅ **Fixes important bug**: Mute LED not working is a user-visible
regression
✅ **Small and self-contained**: One-line change
✅ **No new features**: Just enables existing functionality for new
hardware
✅ **No architectural changes**: Pure quirk addition
✅ **Low regression risk**: Hardware-specific, well-tested pattern
✅ **Already upstream**: Merged in v6.18-rc4
❌ **Cc: stable tag**: Not present in commit message (minor issue)
#### 7. SIMILAR COMMITS
Recent similar commits that were backported:
- `a9dec0963187`: Fix mute LED for HP Victus 16-d1xxx (MB 8A26)
- `956048a3cd9d`: Fix mute LED for HP Victus 16-s0xxx (MB 8BD4)
- `bd7814a4c0fd`: Fix mute LED for HP Victus 16-r1xxx (MB 8C99)
All follow the same pattern and demonstrate this is a well-established
practice.
### CONCLUSION
This commit is an **excellent candidate for backporting** to stable
kernel trees (v6.15+). It fixes a real user-facing bug (non-functional
mute LED) with minimal code change, zero risk to other systems, and
follows an established pattern that has been successfully used for
numerous similar laptop models.
**Suggested stable kernel targets:** v6.15.x, v6.16.x, v6.17.x
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 a3764d71b5fcc..de69332ced8e3 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -6570,6 +6570,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x8c16, "HP Spectre x360 2-in-1 Laptop 16-aa0xxx", ALC245_FIXUP_HP_SPECTRE_X360_16_AA0XXX),
SND_PCI_QUIRK(0x103c, 0x8c17, "HP Spectre 16", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x103c, 0x8c21, "HP Pavilion Plus Laptop 14-ey0XXX", ALC245_FIXUP_HP_X360_MUTE_LEDS),
+ SND_PCI_QUIRK(0x103c, 0x8c2d, "HP Victus 15-fa1xxx (MB 8C2D)", ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
SND_PCI_QUIRK(0x103c, 0x8c30, "HP Victus 15-fb1xxx", ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
SND_PCI_QUIRK(0x103c, 0x8c46, "HP EliteBook 830 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8c47, "HP EliteBook 840 G11", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED),
--
2.51.0
next prev parent reply other threads:[~2025-11-03 18:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 18:02 [PATCH AUTOSEL 6.17-5.10] net: tls: Cancel RX async resync request on rcd_delta overflow Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] sched_ext: Allocate scx_kick_cpus_pnt_seqs lazily using kvzalloc() Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] perf/x86/intel/uncore: Add uncore PMU support for Wildcat Lake Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-6.12] net: tls: Change async resync helpers argument Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-6.1] bcma: don't register devices disabled in OF Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-6.12] blk-crypto: use BLK_STS_INVAL for alignment errors Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] drm/msm: Fix pgtable prealloc error path Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] ALSA: hda/realtek: Add quirk for Lenovo Yoga 7 2-in-1 14AKP10 Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-6.1] cifs: fix typo in enable_gcm_256 module parameter Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] smb: client: handle lack of IPC in dfs_cache_refresh() Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] ASoC: rt721: fix prepare clock stop failed Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] sched_ext: defer queue_balance_callback() until after ops.dispatch Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-5.4] kconfig/nconf: Initialize the default locale at startup Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-5.10] scsi: core: Fix a regression triggered by scsi_host_busy() Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-5.15] selftests: net: use BASH for bareudp testing Sasha Levin
2025-11-03 18:02 ` Sasha Levin [this message]
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-6.6] x86/microcode/AMD: Limit Entrysign signature checking to known generations Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] x86/CPU/AMD: Extend Zen6 model range Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17-5.4] kconfig/mconf: Initialize the default locale at startup Sasha Levin
2025-11-03 18:02 ` [PATCH AUTOSEL 6.17] selftests: cachestat: Fix warning on declaration under label 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=20251103180246.4097432-16-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=chris.chiu@canonical.com \
--cc=edip@medip.dev \
--cc=eren.demir2479090@gmail.com \
--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).