ALSA: usb-audio: Add ctrl message delay quirk for Marantz/Denon devices
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 <gtmkramer@xs4all.nl> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3542aed748
commit
6e84a8d7ac
1 changed files with 14 additions and 0 deletions
|
@ -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) &&
|
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x23ba) &&
|
||||||
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
||||||
mdelay(20);
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue