Skip to content

Commit

Permalink
ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen
Browse files Browse the repository at this point in the history
Due to rounding error driver sometimes incorrectly calculate next packet
size, which results in audible clicks on devices with synchronous playback
endpoints. For example on a high speed bus and a sample rate 44.1 kHz it
loses one sample every ~40.9 seconds. Fortunately playback interface on
Scarlett 2i4 2nd gen has a working explicit feedback endpoint, so we can
switch playback data endpoint to asynchronous mode as a workaround.

Signed-off-by: Alexander Tsoy <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
puleglot authored and tiwai committed Apr 21, 2020
1 parent 7686e34 commit cf9fb7b
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions sound/usb/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -1806,6 +1806,7 @@ void snd_usb_audioformat_attributes_quirk(struct snd_usb_audio *chip,
*/
fp->attributes &= ~UAC_EP_CS_ATTR_FILL_MAX;
break;
case USB_ID(0x1235, 0x8200): /* Focusrite Scarlett 2i4 2nd gen */
case USB_ID(0x1235, 0x8202): /* Focusrite Scarlett 2i2 2nd gen */
case USB_ID(0x1235, 0x8205): /* Focusrite Scarlett Solo 2nd gen */
/*
Expand Down

0 comments on commit cf9fb7b

Please sign in to comment.