| From foo@baz Mon Apr 10 17:43:56 CEST 2017 |
| From: alexander.levin@verizon.com |
| Date: Tue, 4 Apr 2017 19:32:13 +0000 |
| Subject: ALSA: usb-audio: add implicit fb quirk for Axe-Fx II |
| To: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org> |
| Cc: "stable@vger.kernel.org" <stable@vger.kernel.org> |
| Message-ID: <20170404193158.19041-32-alexander.levin@verizon.com> |
| |
| From: Alberto Aguirre <albaguirre@gmail.com> |
| |
| [ Upstream commit 17f08b0d9aafccdb10038ab6dbd9ddb6433c13e2 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| sound/usb/pcm.c | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| --- a/sound/usb/pcm.c |
| +++ b/sound/usb/pcm.c |
| @@ -348,6 +348,16 @@ 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; |
| + |
| } |
| if (attr == USB_ENDPOINT_SYNC_ASYNC && |
| altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC && |