summaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorAlberto Aguirre <albaguirre@gmail.com>2016-12-08 07:36:48 +0100
committerTakashi Iwai <tiwai@suse.de>2016-12-09 11:19:31 +0100
commit17f08b0d9aafccdb10038ab6dbd9ddb6433c13e2 (patch)
treef14e9f5a91a776129db07590504fa586c40d6dca /sound/usb
parentALSA: cs46xx: add a new line (diff)
downloadlinux-17f08b0d9aafccdb10038ab6dbd9ddb6433c13e2.tar.xz
linux-17f08b0d9aafccdb10038ab6dbd9ddb6433c13e2.zip
ALSA: usb-audio: add implicit fb quirk for Axe-Fx II
The Axe-Fx II implicit feedback end point and the data sync endpoint are in different interface descriptors. Add quirk to ensure a sync endpoint is properly configured. Signed-off-by: Alberto Aguirre <albaguirre@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/pcm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index a522c9af1f34..34c6d4f2c0b6 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -348,6 +348,16 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
alts = &iface->altsetting[1];
goto add_sync_ep;
+ case USB_ID(0x2466, 0x8003):
+ ep = 0x86;
+ iface = usb_ifnum_to_if(dev, 2);
+
+ if (!iface || iface->num_altsetting == 0)
+ return -EINVAL;
+
+ alts = &iface->altsetting[1];
+ goto add_sync_ep;
+
}
if (attr == USB_ENDPOINT_SYNC_ASYNC &&
altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC &&