[alsa-devel] [PATCH 1/3] ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6

Daniel Mack zonque at gmail.com
Thu Aug 4 16:17:09 CEST 2011


On Thu, Aug 4, 2011 at 4:17 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Obviously some temporary debugging patch to log protocol/bLength.
>
> --8<---------------------------------------------------------------->8--
> ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6
>
> The Focusrite Scarlett 18i6 USB has them that way, which is probably a
> bug. Anyway, the driver should simply ignore this fact.
>
> Signed-off-by: Daniel Mack <zonque at gmail.com>
> Reported-by: Nicolai Krakowiak <nicolai.krakowiak at gmail.com>
> Cc: stable at kernel.org
> Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
> ---
>  sound/usb/endpoint.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
> index 1eea7e3..1867bbd 100644
> --- a/sound/usb/endpoint.c
> +++ b/sound/usb/endpoint.c
> @@ -352,7 +352,7 @@ int snd_usb_parse_audio_endpoints(struct snd_usb_audio *chip, int iface_no)
>                        continue;
>                }
>                if (((protocol == UAC_VERSION_1) && (fmt->bLength < 8)) ||
> -                   ((protocol == UAC_VERSION_2) && (fmt->bLength != 6))) {
> +                   ((protocol == UAC_VERSION_2) && (fmt->bLength < 6))) {
>                        snd_printk(KERN_ERR "%d:%u:%d : invalid UAC_FORMAT_TYPE desc\n",
>                                   dev->devnum, iface_no, altno);
>                        continue;

Either that or apply the patch I've just sent out. Both is fine for me.

Daniel


More information about the Alsa-devel mailing list