mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 14:43:16 +00:00
ALSA: usb-audio: Fix TEAC UD-501/UD-503/NT-503 usb delay
TEAC UD-501/UD-503/NT-503 fail to switch properly between different rate/format. Similar to 'Playback Design', this patch corrects the invalid clock source error for TEAC products and avoids complete freeze of the usb interface of 503 series. Signed-off-by: Guillaume Fougnies <guillaume@eulerian.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
462b3f161b
commit
5a4ff9ec8d
@ -1205,8 +1205,12 @@ void snd_usb_set_interface_quirk(struct usb_device *dev)
|
||||
* "Playback Design" products need a 50ms delay after setting the
|
||||
* USB interface.
|
||||
*/
|
||||
if (le16_to_cpu(dev->descriptor.idVendor) == 0x23ba)
|
||||
switch (le16_to_cpu(dev->descriptor.idVendor)) {
|
||||
case 0x23ba: /* Playback Design */
|
||||
case 0x0644: /* TEAC Corp. */
|
||||
mdelay(50);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
|
||||
@ -1221,6 +1225,14 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
|
||||
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
||||
mdelay(20);
|
||||
|
||||
/*
|
||||
* "TEAC Corp." products need a 20ms delay after each
|
||||
* class compliant request
|
||||
*/
|
||||
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x0644) &&
|
||||
(requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS)
|
||||
mdelay(20);
|
||||
|
||||
/* Marantz/Denon devices with USB DAC functionality need a delay
|
||||
* after each class compliant request
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user