summaryrefslogtreecommitdiffstats
path: root/sound/usb/usx2y/usx2yhwdeppcm.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-07-28 17:41:58 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-28 17:41:58 +0200
commit7b70888a192eff457c2ca0a4ffa04815f5e19734 (patch)
tree8c75d6908b1e83b750b50e7a26da867926e0f5cd /sound/usb/usx2y/usx2yhwdeppcm.c
parent[PATCH] speed up on find_first_bit for i386 (let compiler do the work) (diff)
parent[ALSA] version 1.0.9b (diff)
downloadlinux-7b70888a192eff457c2ca0a4ffa04815f5e19734.tar.xz
linux-7b70888a192eff457c2ca0a4ffa04815f5e19734.zip
Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
Diffstat (limited to 'sound/usb/usx2y/usx2yhwdeppcm.c')
-rw-r--r--sound/usb/usx2y/usx2yhwdeppcm.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c
index bb2c8e9000c6..ef28061287f2 100644
--- a/sound/usb/usx2y/usx2yhwdeppcm.c
+++ b/sound/usb/usx2y/usx2yhwdeppcm.c
@@ -50,6 +50,7 @@
Currently rawusb dma pcm buffer transport (this file) is only available to snd-usb-usx2y.
*/
+#include <linux/delay.h>
#include "usbusx2yaudio.c"
#if defined(USX2Y_NRPACKS_VARIABLE) || (!defined(USX2Y_NRPACKS_VARIABLE) && USX2Y_NRPACKS == 1)
@@ -520,11 +521,8 @@ static int snd_usX2Y_usbpcm_prepare(snd_pcm_substream_t *substream)
usX2Y->hwdep_pcm_shm->playback_iso_start = -1;
if (atomic_read(&subs->state) < state_PREPARED) {
while (usX2Y_iso_frames_per_buffer(runtime, usX2Y) > usX2Y->hwdep_pcm_shm->captured_iso_frames) {
- signed long timeout;
snd_printd("Wait: iso_frames_per_buffer=%i,captured_iso_frames=%i\n", usX2Y_iso_frames_per_buffer(runtime, usX2Y), usX2Y->hwdep_pcm_shm->captured_iso_frames);
- set_current_state(TASK_INTERRUPTIBLE);
- timeout = schedule_timeout(HZ/100 + 1);
- if (signal_pending(current)) {
+ if (msleep_interruptible(10)) {
err = -ERESTARTSYS;
goto up_prepare_mutex;
}