public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] usb-audio: fix mixer write failure handling
@ 2026-04-19 20:30 Cássio Gabriel
  2026-04-19 20:30 ` [PATCH 1/4] ALSA: usb-audio: Propagate write errors in generic mixer put callbacks Cássio Gabriel
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Cássio Gabriel @ 2026-04-19 20:30 UTC (permalink / raw)
  To: Takashi Iwai, Chris J Arges, Detlef Urban, Jaroslav Kysela
  Cc: linux-sound, linux-kernel, Cássio Gabriel, stable

This series fixes usb-audio mixer put() paths that currently report
success even when the underlying device write fails.

The issue exists in the generic mixer core callbacks, the Scarlett
Gen1 enum path, and several Tascam US-16x08 put() callbacks.

The US-16x08 EQ and compressor callbacks have an additional bug: they
update their software shadow state before sending the USB write, so a
failed transfer can leave later get() results out of sync with the
hardware state.

The series is split into four patches:
- propagate write failures in the generic mixer core callbacks
- fix the Scarlett Gen1 enum callback
- propagate write failures in the simple US-16x08 put() callbacks
- commit the US-16x08 EQ and compressor shadow state only after a
successful write

Successful writes are unchanged. Failed writes are now reported
correctly, and the US-16x08 shadow state remains coherent with the
hardware after write errors.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
Cássio Gabriel (4):
      ALSA: usb-audio: Propagate write errors in generic mixer put callbacks
      ALSA: usb-audio: Propagate errors in scarlett_ctl_enum_put()
      ALSA: usb-audio: Propagate US-16x08 write errors in route/mix EQ-switch put callbacks
      ALSA: usb-audio: Update US-16x08 EQ/comp shadow state after successful writes

 sound/usb/mixer.c          |  17 ++++--
 sound/usb/mixer_scarlett.c |   4 +-
 sound/usb/mixer_us16x08.c  | 127 +++++++++++++++++++++++++++------------------
 3 files changed, 92 insertions(+), 56 deletions(-)
---
base-commit: 99c71f13f9841f8c67fa7595bf0834d3045f5d24
change-id: 20260416-usb-write-error-propagation-20c69e2c5cab

Best regards,
--  
Cássio Gabriel <cassiogabrielcontato@gmail.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-04-19 20:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-19 20:30 [PATCH 0/4] usb-audio: fix mixer write failure handling Cássio Gabriel
2026-04-19 20:30 ` [PATCH 1/4] ALSA: usb-audio: Propagate write errors in generic mixer put callbacks Cássio Gabriel
2026-04-19 20:30 ` [PATCH 2/4] ALSA: usb-audio: Propagate errors in scarlett_ctl_enum_put() Cássio Gabriel
2026-04-19 20:30 ` [PATCH 3/4] ALSA: usb-audio: Propagate US-16x08 write errors in route/mix EQ-switch put callbacks Cássio Gabriel
2026-04-19 20:30 ` [PATCH 4/4] ALSA: usb-audio: Update US-16x08 EQ/comp shadow state after successful writes Cássio Gabriel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox