aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2004-05-10 20:02:55 -0400
committerDavid S. Miller <davem@nuts.davemloft.net>2004-05-10 20:02:55 -0400
commit8cd3762c46971cf180c2cbdc53a80b8d4424f2f6 (patch)
treee3f804d6c2858b8ac000442a72724b83de0ef4c5 /sound
parent8fb892d48802abfdd082f00043d4c1c27b3c47f4 (diff)
downloadhistory-8cd3762c46971cf180c2cbdc53a80b8d4424f2f6.tar.gz
[sound/oss i810] fix drain_dac loop when signals_allowed==0
This patch fixes another bug in the drain_dac wait loop when it is called with signals_allowed == 0.
Diffstat (limited to 'sound')
-rw-r--r--sound/oss/i810_audio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c
index c76c1a19e8abae..85f531eb314321 100644
--- a/sound/oss/i810_audio.c
+++ b/sound/oss/i810_audio.c
@@ -1291,7 +1291,8 @@ static int drain_dac(struct i810_state *state, int signals_allowed)
* instead of actually sleeping and waiting for an
* interrupt to wake us up!
*/
- __set_current_state(TASK_INTERRUPTIBLE);
+ __set_current_state(signals_allowed ?
+ TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
spin_unlock_irqrestore(&state->card->lock, flags);
if (count <= 0)