[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>
This commit is contained in:

committed by
Jaroslav Kysela

parent
b44ef2f154
commit
d86d01935a
@@ -1768,7 +1768,7 @@ snd_wavefront_interrupt_bits (int irq)
|
||||
|
||||
static void __devinit
|
||||
wavefront_should_cause_interrupt (snd_wavefront_t *dev,
|
||||
int val, int port, int timeout)
|
||||
int val, int port, unsigned long timeout)
|
||||
|
||||
{
|
||||
wait_queue_t wait;
|
||||
@@ -1779,11 +1779,9 @@ wavefront_should_cause_interrupt (snd_wavefront_t *dev,
|
||||
dev->irq_ok = 0;
|
||||
outb (val,port);
|
||||
spin_unlock_irq(&dev->irq_lock);
|
||||
while (1) {
|
||||
if ((timeout = schedule_timeout(timeout)) == 0)
|
||||
return;
|
||||
if (dev->irq_ok)
|
||||
return;
|
||||
while (!dev->irq_ok && time_before(jiffies, timeout)) {
|
||||
schedule_timeout_uninterruptible(1);
|
||||
barrier();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user