[PATCH] ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen

Takashi Iwai tiwai at suse.de
Tue Apr 21 21:31:46 CEST 2020


On Tue, 21 Apr 2020 21:09:08 +0200,
Alexander Tsoy wrote:
> 
> 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 <alexander at tsoy.me>

Applied now, thanks.

I wonder, though, whether we can correct the rounding error in the
driver code, too.


Takashi


> ---
>  sound/usb/quirks.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 6c2dfd3bfcbf..351ba214a9d3 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -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 */
>  		/*
> -- 
> 2.25.3
> 


More information about the Alsa-devel mailing list