|
@@ -1146,6 +1146,20 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
|
|
|
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x23ba) &&
|
|
|
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
|
|
mdelay(20);
|
|
|
+
|
|
|
+ /* Marantz/Denon devices with USB DAC functionality need a delay
|
|
|
+ * after each class compliant request
|
|
|
+ */
|
|
|
+ if ((le16_to_cpu(dev->descriptor.idVendor) == 0x154e) &&
|
|
|
+ (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) {
|
|
|
+
|
|
|
+ switch (le16_to_cpu(dev->descriptor.idProduct)) {
|
|
|
+ case 0x3005: /* Marantz HD-DAC1 */
|
|
|
+ case 0x3006: /* Marantz SA-14S1 */
|
|
|
+ mdelay(20);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|