diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-01-20 10:20:14 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-01-20 10:20:14 +0100 |
commit | 258753361534a40ad7180c742da813fc659e427b (patch) | |
tree | 58517f6ce46ab2c897d427b7d1bf29850be314fa /sound/oss/sequencer.c | |
parent | 315fba80a664e4bd928e0b85a38d26e60645b96a (diff) | |
parent | 2aff4c9ce898b9079658650c1ab33c44b100a203 (diff) | |
download | op-kernel-dev-258753361534a40ad7180c742da813fc659e427b.zip op-kernel-dev-258753361534a40ad7180c742da813fc659e427b.tar.gz |
Merge branch 'for-next' into for-linus
Diffstat (limited to 'sound/oss/sequencer.c')
-rw-r--r-- | sound/oss/sequencer.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sound/oss/sequencer.c b/sound/oss/sequencer.c index 4ff60a6..9b9f7d3 100644 --- a/sound/oss/sequencer.c +++ b/sound/oss/sequencer.c @@ -19,6 +19,7 @@ #include "sound_config.h" #include "midi_ctrl.h" +#include "sleep.h" static int sequencer_ok; static struct sound_timer_operations *tmr; @@ -100,8 +101,7 @@ int sequencer_read(int dev, struct file *file, char __user *buf, int count) return -EAGAIN; } - interruptible_sleep_on_timeout(&midi_sleeper, - pre_event_timeout); + oss_broken_sleep_on(&midi_sleeper, pre_event_timeout); spin_lock_irqsave(&lock,flags); if (!iqlen) { @@ -343,7 +343,7 @@ static int seq_queue(unsigned char *note, char nonblock) /* * Sleep until there is enough space on the queue */ - interruptible_sleep_on(&seq_sleeper); + oss_broken_sleep_on(&seq_sleeper, MAX_SCHEDULE_TIMEOUT); } if (qlen >= SEQ_MAX_QUEUE) { @@ -1122,8 +1122,7 @@ static void seq_drain_midi_queues(void) */ if (n) - interruptible_sleep_on_timeout(&seq_sleeper, - HZ/10); + oss_broken_sleep_on(&seq_sleeper, HZ/10); } } @@ -1145,8 +1144,7 @@ void sequencer_release(int dev, struct file *file) while (!signal_pending(current) && qlen > 0) { seq_sync(); - interruptible_sleep_on_timeout(&seq_sleeper, - 3*HZ); + oss_broken_sleep_on(&seq_sleeper, 3*HZ); /* Extra delay */ } } @@ -1201,7 +1199,7 @@ static int seq_sync(void) seq_startplay(); if (qlen > 0) - interruptible_sleep_on_timeout(&seq_sleeper, HZ); + oss_broken_sleep_on(&seq_sleeper, HZ); return qlen; } @@ -1224,7 +1222,7 @@ static void midi_outc(int dev, unsigned char data) spin_lock_irqsave(&lock,flags); while (n && !midi_devs[dev]->outputc(dev, data)) { - interruptible_sleep_on_timeout(&seq_sleeper, HZ/25); + oss_broken_sleep_on(&seq_sleeper, HZ/25); n--; } spin_unlock_irqrestore(&lock,flags); |