public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Zhang Heng <zhangheng@kylinos.cn>, Takashi Iwai <tiwai@suse.de>,
	Sasha Levin <sashal@kernel.org>,
	sbinding@opensource.cirrus.com, kailang@realtek.com,
	chris.chiu@canonical.com, edip@medip.dev
Subject: [PATCH AUTOSEL 6.18-6.1] ALSA: hda/realtek: Add quirk for Inspur S14-G1
Date: Mon,  2 Feb 2026 16:46:06 -0500	[thread overview]
Message-ID: <20260202214643.212290-11-sashal@kernel.org> (raw)
In-Reply-To: <20260202214643.212290-1-sashal@kernel.org>

From: Zhang Heng <zhangheng@kylinos.cn>

[ Upstream commit 9e18920e783d0bcd4c127a7adc66565243ab9655 ]

Inspur S14-G1 is equipped with ALC256.
Enable "power saving mode" and Enable "headset jack mode".

Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
Link: https://patch.msgid.link/20260126073508.3897461-2-zhangheng@kylinos.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

## Analysis: ALSA: hda/realtek: Add quirk for Inspur S14-G1

### 1. COMMIT MESSAGE ANALYSIS

The commit message is straightforward:
- Subject indicates this adds a quirk for the Inspur S14-G1 laptop
- The device uses an ALC256 codec
- The quirk enables "power saving mode" and "headset jack mode"
- Has proper sign-offs and review chain (Takashi Iwai is the HDA
  subsystem maintainer)

No Fixes: tag or Cc: stable tag is present, which is expected for
commits under review.

### 2. CODE CHANGE ANALYSIS

The change is a single line addition to the `alc269_fixup_tbl[]` quirk
table:

```c
SND_PCI_QUIRK(0x2039, 0x0001, "Inspur S14-G1",
ALC295_FIXUP_CHROME_BOOK),
```

This adds a PCI quirk entry with:
- Vendor ID: `0x2039` (Inspur)
- Device ID: `0x0001`
- Description: "Inspur S14-G1"
- Fixup: `ALC295_FIXUP_CHROME_BOOK`

The `ALC295_FIXUP_CHROME_BOOK` fixup is an existing, well-tested fixup
that's already used by other devices in this table (e.g., Intel NUC 13
at line 8086:3038).

### 3. CLASSIFICATION

**This is a HARDWARE QUIRK addition** - one of the explicit exceptions
allowed in stable trees.

This falls under the category of "QUIRKS and WORKAROUNDS" which are
explicitly allowed because:
- The driver (snd-hda-intel with Realtek codec support) already exists
  in stable
- Only a device ID mapping is being added
- The fixup being used (`ALC295_FIXUP_CHROME_BOOK`) already exists and
  is tested
- This enables proper audio functionality on specific hardware

### 4. SCOPE AND RISK ASSESSMENT

**Scope:**
- 1 line changed
- 1 file touched
- Adds entry to a static quirk table
- No logic changes whatsoever

**Risk: EXTREMELY LOW**
- The quirk table is a simple array of PCI ID to fixup mappings
- This change only affects devices with vendor:device ID `0x2039:0x0001`
- No other hardware can be affected
- The fixup being applied (`ALC295_FIXUP_CHROME_BOOK`) is already proven
  stable

### 5. USER IMPACT

**Who is affected:**
- Users of Inspur S14-G1 laptops (a specific Inspur laptop model)

**Problem without this patch:**
- Headset jack may not work properly
- Power management for audio may not be optimal
- These are real usability issues for affected hardware owners

**Severity:** Moderate - affects audio usability but not a crash or data
corruption

### 6. STABILITY INDICATORS

- Signed off by Takashi Iwai (long-time HDA maintainer at SUSE)
- Follows the standard pattern used by hundreds of other quirk entries
  in this file
- Uses an existing, tested fixup (`ALC295_FIXUP_CHROME_BOOK`)

### 7. DEPENDENCY CHECK

**Dependencies: NONE**
- The `ALC295_FIXUP_CHROME_BOOK` fixup has existed in the kernel for
  years
- The quirk table structure is stable across kernel versions
- This will apply cleanly to any stable tree that has the Realtek HDA
  driver

### Summary

This commit is a textbook example of a stable-appropriate quirk
addition:

1. **Meets stable rules:**
   - Obviously correct (single line addition to quirk table)
   - Fixes a real bug (audio not working properly on specific hardware)
   - Small and contained (1 line)
   - Does NOT add new features (uses existing fixup)

2. **Falls under allowed exceptions:**
   - Hardware quirk/workaround for a specific device
   - Enables proper functionality on hardware that exists in the field

3. **Risk vs Benefit:**
   - Risk: Near zero (only affects one specific device ID)
   - Benefit: Audio functionality for Inspur S14-G1 users

4. **No concerns:**
   - No dependencies
   - Applies cleanly to any kernel with the Realtek HDA driver
   - Standard practice followed by hundreds of similar entries

This is exactly the type of patch that stable trees accept regularly - a
simple hardware quirk that enables device support without any risk to
other systems.

**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 32cba2c81ccdd..4ab89cb6e55f2 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -7239,6 +7239,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	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),
+	SND_PCI_QUIRK(0x2039, 0x0001, "Inspur S14-G1", ALC295_FIXUP_CHROME_BOOK),
 	SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
 	SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
 	SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
-- 
2.51.0


  parent reply	other threads:[~2026-02-02 21:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-02 21:45 [PATCH AUTOSEL 6.18-6.12] ALSA: hda/realtek - fixed speaker no sound Sasha Levin
2026-02-02 21:45 ` [PATCH AUTOSEL 6.18-5.10] ALSA: hda/realtek: Fix headset mic for TongFang X6AR55xU Sasha Levin
2026-02-02 21:45 ` [PATCH AUTOSEL 6.18] io_uring/rw: free potentially allocated iovec on cache put failure Sasha Levin
2026-02-02 21:45 ` [PATCH AUTOSEL 6.18-6.12] ALSA: hda/realtek: ALC269 fixup for Lenovo Yoga Book 9i 13IRU8 audio Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] ALSA: usb-audio: Add delay quirk for MOONDROP Moonriver2 Ti Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.1] ASoC: amd: yc: Add ASUS ExpertBook PM1503CDA to quirks list Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] gpio: sprd: Change sprd_gpio lock to raw_spin_lock Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.6] spi: hisi-kunpeng: Fixed the wrong debugfs node name in hisi_spi debugfs initialization Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.1] ASoC: cs35l45: Corrects ASP_TX5 DAPM widget channel Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] scsi: target: iscsi: Fix use-after-free in iscsit_dec_conn_usage_count() Sasha Levin
2026-02-02 21:46 ` Sasha Levin [this message]
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] btrfs: fix Wmaybe-uninitialized warning in replay_one_buffer() Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] scsi: target: iscsi: Fix use-after-free in iscsit_dec_session_usage_count() Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] Revert "drm/amd/display: pause the workload setting in dm" Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] btrfs: sync read disk super and set block size Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] spi: intel-pci: Add support for Nova Lake SPI serial flash Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.12] btrfs: reject new transactions if the fs is fully read-only Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] riscv: Use 64-bit variable for output in __get_user_asm Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.6] regmap: maple: free entry on mas_store_gfp() failure Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-6.6] wifi: mac80211: correctly check if CSA is active Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] romfs: check sb_set_blocksize() return value Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18-5.10] wifi: cfg80211: Fix bitrate calculation overflow for HE rates Sasha Levin
2026-02-02 21:46 ` [PATCH AUTOSEL 6.18] tracing: Avoid possible signed 64-bit truncation 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=20260202214643.212290-11-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=chris.chiu@canonical.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 \
    --cc=zhangheng@kylinos.cn \
    /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