Skip to content

Commit e0469d6

Browse files
committed
ALSA: usb-audio: Set up (implicit) sync for Saffire 6
Focusrite Saffire 6 has fixed audioformat quirks with multiple endpoints assigned to a single altsetting. Unfortunately the generic parser couldn't detect the sync endpoint correctly as the implicit sync due to the missing EP attribute bits. In the former kernels, it used to work somehow casually, but it's been broken for a while after the large code change in 5.11. This patch cures the regression by the following: - Allow the static quirk table to provide the sync EP information; we just need to fill the fields and let the generic parser skipping parsing if sync_ep is already set. - Add the sync endpoint information to the entry for Saffire 6. Fixes: 7b0efea ("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks") Reported-and-tested-by: André Kapelrud <a.kapelrud@gmail.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20220606160910.6926-3-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent efb75df commit e0469d6

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

sound/usb/pcm.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,9 @@ int snd_usb_audioformat_set_sync_ep(struct snd_usb_audio *chip,
291291
bool is_playback;
292292
int err;
293293

294+
if (fmt->sync_ep)
295+
return 0; /* already set up */
296+
294297
alts = snd_usb_get_host_interface(chip, fmt->iface, fmt->altsetting);
295298
if (!alts)
296299
return 0;

sound/usb/quirks-table.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2658,7 +2658,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
26582658
.nr_rates = 2,
26592659
.rate_table = (unsigned int[]) {
26602660
44100, 48000
2661-
}
2661+
},
2662+
.sync_ep = 0x82,
2663+
.sync_iface = 0,
2664+
.sync_altsetting = 1,
2665+
.sync_ep_idx = 1,
2666+
.implicit_fb = 1,
26622667
}
26632668
},
26642669
{

0 commit comments

Comments
 (0)