diff options
author | Alexander Tsoy <alexander@tsoy.me> | 2020-02-29 18:18:15 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-03-06 09:03:17 +0100 |
commit | 2edb84e3047b93da2f2b234219cdc304df042d9e (patch) | |
tree | 26855fa73e05965f2397f83c7e8022d3d36e2ded /sound/usb/pcm.c | |
parent | 66db29588dd6c55591b0f93dc8044a018d78d501 (diff) | |
download | linux-2edb84e3047b93da2f2b234219cdc304df042d9e.tar.gz linux-2edb84e3047b93da2f2b234219cdc304df042d9e.tar.bz2 linux-2edb84e3047b93da2f2b234219cdc304df042d9e.zip |
ALSA: usb-audio: Add support for MOTU MicroBook IIc
MicroBook IIc operates in UAC2 mode by default. This patch addresses
several issues with it:
- MicroBook II and IIc shares the same USB ID. We can distinguish them
by interface class.
- MaxPacketsOnly attribute is erroneously set in endpoint descriptors.
As a result this card produces noise with all sample rates other than
96 KHz. This also causes issues like IOMMU page faults and other
problems with host controller.
- Sample rate changes takes more than 2 seconds for this device. Clock
validity request returns false during that period, so the clock validity
quirk is required.
Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
Link: https://lore.kernel.org/r/20200229151815.14199-1-alexander@tsoy.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/pcm.c')
-rw-r--r-- | sound/usb/pcm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index bd258f1ec2dd..a4e4064f9aee 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -357,7 +357,12 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs, ep = 0x81; ifnum = 1; goto add_sync_ep_from_ifnum; - case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook II */ + case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook II/IIc */ + /* MicroBook IIc */ + if (altsd->bInterfaceClass == USB_CLASS_AUDIO) + return 0; + + /* MicroBook II */ ep = 0x84; ifnum = 0; goto add_sync_ep_from_ifnum; |