ALSA: usb-audio: Fix MOTU M-Series quirks
authorDylan Robinson <dylan_robinson@motu.com>
Mon, 23 Nov 2020 08:53:47 +0000 (09:53 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Nov 2020 14:17:45 +0000 (15:17 +0100)
Now that the usb audio driver correctly finds implicit feedback endpoints,
the implicit feedback quirk for the MOTU M-Series is no longer required.

This also removes some unnecessary vendor specific messages from the MOTU
M-Series boot quirk. The removed vendor specific messages turned on vendor
specific interrupts to the host every 32 samples. The only thing the boot
quirk needs to do is wait for 2 seconds.

Tested-by: Dylan Robinson <dylan_robinson@motu.com>
Signed-off-by: Dylan Robinson <dylan_robinson@motu.com>
Link: https://lore.kernel.org/r/20201123085347.19667-42-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/implicit.c
sound/usb/quirks.c

index 1f7fb036c5b66d291d3ab13d3e287b5a25bd5c82..386198b36b877bbafa2058e42a2506d4e113fff2 100644 (file)
@@ -52,7 +52,6 @@ static const struct snd_usb_implicit_fb_match playback_implicit_fb_quirks[] = {
        IMPLICIT_FB_FIXED_DEV(0x1397, 0x0001, 0x81, 1), /* Behringer UFX1604 */
        IMPLICIT_FB_FIXED_DEV(0x1397, 0x0002, 0x81, 1), /* Behringer UFX1204 */
        IMPLICIT_FB_FIXED_DEV(0x2466, 0x8010, 0x81, 2), /* Fractal Audio Axe-Fx III */
-       IMPLICIT_FB_FIXED_DEV(0x07fd, 0x0008, 0x81, 2), /* MOTU M Series */
        IMPLICIT_FB_FIXED_DEV(0x31e9, 0x0001, 0x81, 2), /* Solid State Logic SSL2 */
        IMPLICIT_FB_FIXED_DEV(0x31e9, 0x0002, 0x81, 2), /* Solid State Logic SSL2+ */
        IMPLICIT_FB_FIXED_DEV(0x0499, 0x172f, 0x81, 2), /* Steinberg UR22C */
index 02f3f6ed9390d1e6a6bfddd70cc3fec5a616aceb..63cdf3c8c2bc35d0cbcef459fbbecad27d7d656b 100644 (file)
@@ -1110,24 +1110,8 @@ free_buf:
 
 static int snd_usb_motu_m_series_boot_quirk(struct usb_device *dev)
 {
-       int ret;
-
-       ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-                             1, USB_TYPE_VENDOR | USB_RECIP_DEVICE,
-                             0x0, 0, NULL, 0, 1000);
-
-       if (ret < 0)
-               return ret;
-
        msleep(2000);
 
-       ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-                             1, USB_TYPE_VENDOR | USB_RECIP_DEVICE,
-                             0x20, 0, NULL, 0, 1000);
-
-       if (ret < 0)
-               return ret;
-
        return 0;
 }