summaryrefslogtreecommitdiffstats
path: root/sound/usb/clock.c
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2013-04-09 18:56:03 +0200
committerTakashi Iwai <tiwai@suse.de>2013-04-10 09:21:43 +0200
commit21bb5aafce4350e243f9be3d981c0beb2e2c5ab4 (patch)
tree41dfd36deccedeff13266cb71b0b79b69c830130 /sound/usb/clock.c
parentALSA: hda - Apply codec delay to wallclock. (diff)
downloadlinux-21bb5aafce4350e243f9be3d981c0beb2e2c5ab4.tar.xz
linux-21bb5aafce4350e243f9be3d981c0beb2e2c5ab4.zip
ALSA: snd-usb: Playback Design: use usb_set_inferface quirk from more locations
It turns out the devices from Playback Design need the delay quirk after usb_set_interface from clocks.c as well. Make it a proper quirks function and factor out the code to quirks.c. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/clock.c')
-rw-r--r--sound/usb/clock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/usb/clock.c b/sound/usb/clock.c
index ae35e7d22e73..b0ec3643eb62 100644
--- a/sound/usb/clock.c
+++ b/sound/usb/clock.c
@@ -32,6 +32,7 @@
#include "card.h"
#include "helper.h"
#include "clock.h"
+#include "quirks.h"
static struct uac_clock_source_descriptor *
snd_usb_find_clock_source(struct usb_host_interface *ctrl_iface,
@@ -392,7 +393,9 @@ static int set_sample_rate_v2(struct snd_usb_audio *chip, int iface,
* interface is active. */
if (rate != prev_rate) {
usb_set_interface(dev, iface, 0);
+ snd_usb_set_interface_quirk(dev);
usb_set_interface(dev, iface, fmt->altsetting);
+ snd_usb_set_interface_quirk(dev);
}
return 0;