ALSA: snd-usb: add delay quirk for "Playback Design" products
authorDaniel Mack <zonque@gmail.com>
Sun, 17 Mar 2013 12:07:26 +0000 (20:07 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Mar 2013 07:47:21 +0000 (08:47 +0100)
"Playback Design" products need a 50ms delay after setting the USB
interface.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Andreas Koch <andreas@akdesigninc.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/pcm.c

index f94397b42aa5740bbc719702becf15bbbbb6128c..c263991b3b9d12a724ba434f6d39940bd618d8f0 100644 (file)
@@ -350,6 +350,13 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
                                fmt->iface, fmt->altsetting);
                subs->interface = fmt->iface;
                subs->altset_idx = fmt->altset_idx;
+
+               /*
+                * "Playback Design" products need a 50ms delay after setting the
+                * USB interface.
+                */
+               if (le16_to_cpu(dev->descriptor.idVendor) == 0x23ba)
+                       mdelay(50);
        }
 
        subs->data_endpoint = snd_usb_add_endpoint(subs->stream->chip,