On Thu, Aug 4, 2011 at 4:17 PM, Clemens Ladisch clemens@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@gmail.com Reported-by: Nicolai Krakowiak nicolai.krakowiak@gmail.com Cc: stable@kernel.org Signed-off-by: Clemens Ladisch clemens@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