[PATCH 0/2] ALSA: usb-audio: Fix stale quirk control caches after write failures
From: Cássio Gabriel
Date: Wed Apr 29 2026 - 09:24:47 EST
This series fixes stale software cache handling in several usb-audio
mixer quirks.
A number of quirk callbacks update kcontrol->private_value before
issuing vendor or class writes. When such a write fails, the driver can
keep reporting and later replaying a value the device never accepted,
because the corresponding get and resume paths consume the cached state.
- Patch 1 fixes the simple single-write quirk callbacks by restoring the
previous cache on error.
- Patch 2 fixes the RME Babyface Pro packed-state callbacks by updating
the cache only after a successful write, since those helpers already
take explicit arguments and do not need private_value to be updated
before the USB request.
The split keeps the generic quirk fixes separate from the Babyface Pro
packed-state logic and keeps each patch tied to its own introducing bug.
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>
---
Cássio Gabriel (2):
ALSA: usb-audio: Roll back quirk control caches on write errors
ALSA: usb-audio: Update Babyface Pro control caches only after successful writes
sound/usb/mixer_quirks.c | 61 +++++++++++++++++++++++++++++++++++++-----------
1 file changed, 47 insertions(+), 14 deletions(-)
---
base-commit: 7b04e87c2a10db9c65b3133949bbe1b738b6ed7e
change-id: 20260418-alsa-usb-quirks-cache-rollback-43a07052f22c
Best regards,
--
Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>