diff options
author | Nishanth Aravamudan <nacc@us.ibm.com> | 2005-07-09 04:54:37 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-07-28 06:22:22 -0400 |
commit | b27c187f95cd6c9f13f26a5088bea384ac557b45 (patch) | |
tree | c5d1ff785bda8fa11575ecb71453e53426b6e780 /sound/usb/usbaudio.c | |
parent | 989a0b248bbf32c89e60dc6f02219e446b320712 (diff) |
[ALSA] Fix-up sleeping in sound/usb
USB generic driver,USB USX2Y
Description: Fix-up sleeping in sound/usb. Replace big_mdelay() with
msleep() to guarantee the task delays as expected. This also involved
replacing/removing custom sleep functions.
Patch is compile-tested.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/usb/usbaudio.c')
-rw-r--r-- | sound/usb/usbaudio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 3eaa08e3e6a6..f2b760d8d77e 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c | |||
@@ -792,7 +792,7 @@ static int start_urbs(snd_usb_substream_t *subs, snd_pcm_runtime_t *runtime) | |||
792 | */ | 792 | */ |
793 | static int wait_clear_urbs(snd_usb_substream_t *subs) | 793 | static int wait_clear_urbs(snd_usb_substream_t *subs) |
794 | { | 794 | { |
795 | int timeout = HZ; | 795 | unsigned long end_time = jiffies + msecs_to_jiffies(1000); |
796 | unsigned int i; | 796 | unsigned int i; |
797 | int alive; | 797 | int alive; |
798 | 798 | ||
@@ -812,7 +812,7 @@ static int wait_clear_urbs(snd_usb_substream_t *subs) | |||
812 | break; | 812 | break; |
813 | set_current_state(TASK_UNINTERRUPTIBLE); | 813 | set_current_state(TASK_UNINTERRUPTIBLE); |
814 | schedule_timeout(1); | 814 | schedule_timeout(1); |
815 | } while (--timeout > 0); | 815 | } while (time_before(jiffies, end_time)); |
816 | if (alive) | 816 | if (alive) |
817 | snd_printk(KERN_ERR "timeout: still %d active urbs..\n", alive); | 817 | snd_printk(KERN_ERR "timeout: still %d active urbs..\n", alive); |
818 | return 0; | 818 | return 0; |