summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-05-02 12:09:48 +0200
committerJaroslav Kysela <perex@suse.cz>2007-05-11 16:56:13 +0200
commit6b9fa70a73e8627c2823ee95e7c55d77e0716f1c (patch)
treee8c9e348a63e9282f9ab48021b2b38e01543cd7b
parent[ALSA] sound/pcmcia/vx/vxpocket.c: fix an if() condition (diff)
downloadlinux-6b9fa70a73e8627c2823ee95e7c55d77e0716f1c.tar.xz
linux-6b9fa70a73e8627c2823ee95e7c55d77e0716f1c.zip
[ALSA] usb-audio - Fix the minimum period size per transfer mode
The minimal period size is 125us for high-speed mode while 1ms for full-speed mode. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/usb/usbaudio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index b6d886373bb0..78efcffce8d1 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -1879,7 +1879,9 @@ static int setup_hw_info(struct snd_pcm_runtime *runtime, struct snd_usb_substre
/* set the period time minimum 1ms */
snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME,
- 1000 * MIN_PACKS_URB,
+ snd_usb_get_speed(subs->dev) == USB_SPEED_FULL ?
+
+ 1000 * MIN_PACKS_URB : 125 * MIN_PACKS_URB,
/*(nrpacks * MAX_URBS) * 1000*/ UINT_MAX);
if (check_hw_params_convention(subs)) {