From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Lianqin Hu <hulianqin@vivo.com>, Takashi Iwai <tiwai@suse.de>,
Sasha Levin <sashal@kernel.org>,
perex@perex.cz, tiwai@suse.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 6.19] ALSA: usb-audio: Add iface reset and delay quirk for SPACETOUCH USB Audio
Date: Tue, 17 Mar 2026 07:32:39 -0400 [thread overview]
Message-ID: <20260317113249.117771-8-sashal@kernel.org> (raw)
In-Reply-To: <20260317113249.117771-1-sashal@kernel.org>
From: Lianqin Hu <hulianqin@vivo.com>
[ Upstream commit 5182e5ec4355dd690307f5d5c28cbfc5b2c06a97 ]
Setting up the interface when suspended/resumeing fail on this card.
Adding a reset and delay quirk will eliminate this problem.
usb 1-1: New USB device found, idVendor=0666, idProduct=0880
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: USB Audio
usb 1-1: Manufacturer: SPACETOUCH
usb 1-1: SerialNumber: 000000000
Signed-off-by: Lianqin Hu <hulianqin@vivo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/TYUPR06MB6217ACC80B70BE25D87456B0D247A@TYUPR06MB6217.apcprd06.prod.outlook.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
## Analysis
### Commit Summary
This commit adds a USB audio quirk entry for the SPACETOUCH USB Audio
device (vendor `0x0666`, product `0x0880`), applying
`QUIRK_FLAG_FORCE_IFACE_RESET` and `QUIRK_FLAG_IFACE_DELAY` flags. The
commit message states this fixes suspend/resume failures on this device.
### Code Change Analysis
The change is a **two-line addition** inserting a `DEVICE_FLG()` entry
into the sorted `quirk_flags_table[]` array. It uses existing quirk
flags (`QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY`) that are
already used by many other devices in the same table (e.g., TEAC UD-701,
Esoteric D-05X, etc.).
### Classification: Hardware Quirk
This is a textbook **hardware quirk addition** — one of the explicitly
listed exception categories that ARE appropriate for stable backporting
despite being "additions." The quirk:
- Uses an existing driver and existing quirk infrastructure
- Only targets a specific USB device by vendor/product ID
- Applies well-understood flags already used by other devices
- Fixes a real user-facing problem (suspend/resume failure)
### Bug Being Fixed
The commit fixes a **suspend/resume failure** on the SPACETOUCH USB
Audio device. Without the interface reset and delay quirk, the USB audio
interface fails to set up properly when resuming from suspend. This is a
real hardware issue that affects users of this specific device.
### Risk Assessment
- **Scope**: Minimal — only affects this specific USB device
(0x0666:0x0880)
- **Risk of regression**: Near zero — the flags only apply to this one
device, and the same flags work correctly on many other devices
- **Dependencies**: None — the quirk infrastructure and flags already
exist in all stable trees
- **Lines changed**: 2 lines added, no lines removed or modified
### Stable Kernel Rules Check
1. **Obviously correct and tested**: Yes — simple table entry, same
pattern as dozens of others, signed off by the ALSA maintainer
(Takashi Iwai)
2. **Fixes a real bug**: Yes — suspend/resume failure
3. **Important issue**: Yes — device unusable after suspend/resume cycle
4. **Small and contained**: Yes — 2-line addition to a quirk table
5. **No new features**: Correct — uses existing quirk mechanism
6. **Applies cleanly**: Should apply cleanly to any tree containing the
quirk flags table
### Verification
- Reviewed the diff: confirmed it's a simple 2-line `DEVICE_FLG()`
addition, inserted in sorted vendor ID order
- Confirmed `QUIRK_FLAG_FORCE_IFACE_RESET` and `QUIRK_FLAG_IFACE_DELAY`
are used by multiple existing entries in the same table (visible in
the diff context)
- Commit is signed off by Takashi Iwai (ALSA subsystem maintainer),
indicating proper review
- The commit message includes USB device identification strings showing
the exact hardware affected
This is a zero-risk, high-benefit hardware quirk that fixes
suspend/resume for a specific USB audio device. It meets all stable
kernel criteria.
**YES**
sound/usb/quirks.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index a89ea2233180a..ce6f479353b22 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2239,6 +2239,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
QUIRK_FLAG_IFACE_DELAY | QUIRK_FLAG_FORCE_IFACE_RESET),
DEVICE_FLG(0x0661, 0x0883, /* iBasso DC04 Ultra */
QUIRK_FLAG_DSD_RAW),
+ DEVICE_FLG(0x0666, 0x0880, /* SPACETOUCH USB Audio */
+ QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY),
DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
QUIRK_FLAG_IGNORE_CTL_ERROR),
DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
--
2.51.0
next prev parent reply other threads:[~2026-03-17 11:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 11:32 [PATCH AUTOSEL 6.19-6.1] ALSA: hda/realtek: add HP Laptop 14s-dr5xxx mute LED quirk Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.6] spi: intel-pci: Add support for Nova Lake mobile SPI flash Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19] objtool: Use HOSTCFLAGS for HAVE_XXHASH test Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.18] powerpc64/ftrace: fix OOL stub count with clang Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.12] nvmet: move async event work off nvmet-wq Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.12] drm/amdgpu: fix gpu idle power consumption issue for gfx v12 Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19] objtool/klp: Disable unsupported pr_debug() usage Sasha Levin
2026-03-17 11:32 ` Sasha Levin [this message]
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.1] usb: core: new quirk to handle devices with zero configurations Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek: add quirk for ASUS UM6702RC Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.6] objtool: Handle Clang RSP musical chairs Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.12] sched_ext: Use WRITE_ONCE() for the write side of dsq->seq update Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.1] btrfs: set BTRFS_ROOT_ORPHAN_CLEANUP during subvol create Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.18] ALSA: hda/realtek: Add quirk for Gigabyte Technology to fix headphone Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-6.12] i3c: master: dw-i3c: Fix missing of_node for virtual I2C adapter Sasha Levin
2026-03-17 11:32 ` [PATCH AUTOSEL 6.19-5.10] ALSA: hda/realtek: Add headset jack quirk for Thinkpad X390 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=20260317113249.117771-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=hulianqin@vivo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=perex@perex.cz \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.com \
--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