diff options
author | Rene Herman <rene.herman> | 2007-09-18 12:10:49 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 10:50:54 -0400 |
commit | d86d01935a4c4c818514d8c23579703abd768329 (patch) | |
tree | 6b0a1f67979fb5283511d6cf1776dca0c89507ba /sound/isa | |
parent | b44ef2f1544a0a8d3d8907890662924082d0f1fa (diff) |
[ALSA] alsa-kernel: schedule_timeout() fixes
Fix schedule_timeout() use in alsa-kernel. Mostly just
schedule_timeout(1) --> schedule_timeout_uninterruptible(1)
The wavefront_synth one fixes the surrounding loop as well. In ymfpci_main,
delete a superfluous set_current_state() and in soc/soc-dapm.c replace an
_interruptible with _uninterruptible in some debug code; it's not waiting
for signals.
Signed-off-by: Rene Herman <rene.herman>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/isa')
-rw-r--r-- | sound/isa/sscape.c | 4 | ||||
-rw-r--r-- | sound/isa/wavefront/wavefront_synth.c | 10 |
2 files changed, 6 insertions, 8 deletions
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index 4902da40b6c0..1cb921d6137e 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c | |||
@@ -401,7 +401,7 @@ static int obp_startup_ack(struct soundscape *s, unsigned timeout) | |||
401 | unsigned long flags; | 401 | unsigned long flags; |
402 | unsigned char x; | 402 | unsigned char x; |
403 | 403 | ||
404 | schedule_timeout(1); | 404 | schedule_timeout_uninterruptible(1); |
405 | 405 | ||
406 | spin_lock_irqsave(&s->lock, flags); | 406 | spin_lock_irqsave(&s->lock, flags); |
407 | x = inb(HOST_DATA_IO(s->io_base)); | 407 | x = inb(HOST_DATA_IO(s->io_base)); |
@@ -428,7 +428,7 @@ static int host_startup_ack(struct soundscape *s, unsigned timeout) | |||
428 | unsigned long flags; | 428 | unsigned long flags; |
429 | unsigned char x; | 429 | unsigned char x; |
430 | 430 | ||
431 | schedule_timeout(1); | 431 | schedule_timeout_uninterruptible(1); |
432 | 432 | ||
433 | spin_lock_irqsave(&s->lock, flags); | 433 | spin_lock_irqsave(&s->lock, flags); |
434 | x = inb(HOST_DATA_IO(s->io_base)); | 434 | x = inb(HOST_DATA_IO(s->io_base)); |
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c index 2da11e8337dd..a1ebb7c5c684 100644 --- a/sound/isa/wavefront/wavefront_synth.c +++ b/sound/isa/wavefront/wavefront_synth.c | |||
@@ -1768,7 +1768,7 @@ snd_wavefront_interrupt_bits (int irq) | |||
1768 | 1768 | ||
1769 | static void __devinit | 1769 | static void __devinit |
1770 | wavefront_should_cause_interrupt (snd_wavefront_t *dev, | 1770 | wavefront_should_cause_interrupt (snd_wavefront_t *dev, |
1771 | int val, int port, int timeout) | 1771 | int val, int port, unsigned long timeout) |
1772 | 1772 | ||
1773 | { | 1773 | { |
1774 | wait_queue_t wait; | 1774 | wait_queue_t wait; |
@@ -1779,11 +1779,9 @@ wavefront_should_cause_interrupt (snd_wavefront_t *dev, | |||
1779 | dev->irq_ok = 0; | 1779 | dev->irq_ok = 0; |
1780 | outb (val,port); | 1780 | outb (val,port); |
1781 | spin_unlock_irq(&dev->irq_lock); | 1781 | spin_unlock_irq(&dev->irq_lock); |
1782 | while (1) { | 1782 | while (!dev->irq_ok && time_before(jiffies, timeout)) { |
1783 | if ((timeout = schedule_timeout(timeout)) == 0) | 1783 | schedule_timeout_uninterruptible(1); |
1784 | return; | 1784 | barrier(); |
1785 | if (dev->irq_ok) | ||
1786 | return; | ||
1787 | } | 1785 | } |
1788 | } | 1786 | } |
1789 | 1787 | ||