| From: Alberto Aguirre <albaguirre@gmail.com> |
| Date: Thu, 8 Dec 2016 00:36:48 -0600 |
| Subject: ALSA: usb-audio: add implicit fb quirk for Axe-Fx II |
| |
| commit 17f08b0d9aafccdb10038ab6dbd9ddb6433c13e2 upstream. |
| |
| 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> |
| [bwh: Backported to 3.16: adjust context] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| sound/usb/pcm.c | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| --- a/sound/usb/pcm.c |
| +++ b/sound/usb/pcm.c |
| @@ -351,6 +351,15 @@ static int set_sync_ep_implicit_fb_quirk |
| |
| 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; |
| case USB_ID(0x1397, 0x0002): |
| ep = 0x81; |
| iface = usb_ifnum_to_if(dev, 1); |
| @@ -360,6 +369,7 @@ static int set_sync_ep_implicit_fb_quirk |
| |
| alts = &iface->altsetting[1]; |
| goto add_sync_ep; |
| + |
| } |
| if (attr == USB_ENDPOINT_SYNC_ASYNC && |
| altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC && |