[PATCH] ALSA: usb-audio: Fix missing sample-rate control for PreSonus AudioBox USB

From: Thomas Nemer

Date: Sun Oct 18 2026 - 10:51:15 EST


The fixed audio formats for the PreSonus AudioBox USB declare
.attributes = 0, dropping UAC_EP_CS_ATTR_SAMPLE_RATE that the device
advertises in its class-specific endpoint descriptors (EP_GENERAL
bmAttributes 0x01 on both EP 0x01 and EP 0x82).

As a result set_sample_rate_v1() bails out and the kernel never sends
the UAC1 SET_CUR SAMPLING_FREQ request, leaving the device on its
power-on default clock. Playback and capture then run distorted
whenever the stream rate differs from that default. The device keeps
the last rate set by a host as long as it stays powered, which made the
regression look intermittent (e.g. it disappears after the device was
initialized by a host running a kernel without this quirk entry).

Restore the sample-rate attribute on both streams.

Fixes: 34fe4a9df247 ("ALSA: usb-audio: Add quirk for PreSonus AudioBox USB")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Thomas Nemer <thomas.nemer@xxxxxxxxxxx>
---
sound/usb/quirks-table.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 2da8cbe3e6..6343a50fb2 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -2911,7 +2911,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.iface = 2,
.altsetting = 1,
.altset_idx = 1,
- .attributes = 0,
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
.endpoint = 0x01,
.ep_attr = USB_ENDPOINT_XFER_ISOC,
.rates = SNDRV_PCM_RATE_44100 |
@@ -2932,7 +2932,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.iface = 3,
.altsetting = 1,
.altset_idx = 1,
- .attributes = 0,
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
.endpoint = 0x82,
.ep_attr = USB_ENDPOINT_XFER_ISOC,
.rates = SNDRV_PCM_RATE_44100 |
--
2.56.0