aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@suse.cz>2004-10-29 21:01:52 +0200
committerJaroslav Kysela <perex@suse.cz>2004-10-29 21:01:52 +0200
commit2a83802ff66f1e4e0b6a403688f552f9ef250664 (patch)
tree79da7cc9b8b15782dbc244897e8219e43b0d07c1 /sound
parente7bced5f6b14fb13dc7613813c9db95e56ca23d8 (diff)
downloadhistory-2a83802ff66f1e4e0b6a403688f552f9ef250664.tar.gz
[ALSA] fix sequencer sleeping in interrupt context
ALSA sequencer,ALSA<-OSS sequencer Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/core/seq/oss/seq_oss_timer.c2
-rw-r--r--sound/core/seq/seq_clientmgr.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sound/core/seq/oss/seq_oss_timer.c b/sound/core/seq/oss/seq_oss_timer.c
index b17c1f8d1011e4..42ca9493fa600a 100644
--- a/sound/core/seq/oss/seq_oss_timer.c
+++ b/sound/core/seq/oss/seq_oss_timer.c
@@ -149,7 +149,7 @@ send_timer_event(seq_oss_devinfo_t *dp, int type, int value)
ev.queue = dp->queue;
ev.data.queue.queue = dp->queue;
ev.data.queue.param.value = value;
- return snd_seq_kernel_client_dispatch(dp->cseq, &ev, 0, 0);
+ return snd_seq_kernel_client_dispatch(dp->cseq, &ev, 1, 0);
}
/*
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
index dd7650dddc48a4..e32aa926f4ffcd 100644
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -904,7 +904,7 @@ static int snd_seq_client_enqueue_event(client_t *client,
return -ENXIO; /* queue is not allocated */
/* allocate an event cell */
- err = snd_seq_event_dup(client->pool, event, &cell, !blocking && !atomic, file);
+ err = snd_seq_event_dup(client->pool, event, &cell, !blocking || atomic, file);
if (err < 0)
return err;