Skip to content

Commit 38446d6

Browse files
lintweakerJiri Slaby
authored andcommitted
ALSA: usb-audio: Add ctrl message delay quirk for Marantz/Denon devices
commit 6e84a8d upstream. This patch adds a USB control message delay quirk for a few specific Marantz/Denon devices. Without the delay the DACs will not work properly and produces the following type of messages: Nov 15 10:09:21 orwell kernel: [ 91.342880] usb 3-13: clock source 41 is not valid, cannot use Nov 15 10:09:21 orwell kernel: [ 91.343775] usb 3-13: clock source 41 is not valid, cannot use There are likely other Marantz/Denon devices using the same USB module which exhibit the same problems. But as this cannot be verified I limited the patch to the devices I could test. The following two devices are covered by this path: - Marantz SA-14S1 - Marantz HD-DAC1 Signed-off-by: Jurgen Kramer <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Jiri Slaby <[email protected]>
1 parent 000245b commit 38446d6

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

sound/usb/quirks.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,6 +1127,20 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
11271127
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x23ba) &&
11281128
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
11291129
mdelay(20);
1130+
1131+
/* Marantz/Denon devices with USB DAC functionality need a delay
1132+
* after each class compliant request
1133+
*/
1134+
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x154e) &&
1135+
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) {
1136+
1137+
switch (le16_to_cpu(dev->descriptor.idProduct)) {
1138+
case 0x3005: /* Marantz HD-DAC1 */
1139+
case 0x3006: /* Marantz SA-14S1 */
1140+
mdelay(20);
1141+
break;
1142+
}
1143+
}
11301144
}
11311145

11321146
/*

0 commit comments

Comments
 (0)