diff options
author | Jaroslav Kysela <perex@suse.cz> | 2004-10-29 21:01:52 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2004-10-29 21:01:52 +0200 |
commit | 2a83802ff66f1e4e0b6a403688f552f9ef250664 (patch) | |
tree | 79da7cc9b8b15782dbc244897e8219e43b0d07c1 /sound | |
parent | e7bced5f6b14fb13dc7613813c9db95e56ca23d8 (diff) | |
download | history-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.c | 2 | ||||
-rw-r--r-- | sound/core/seq/seq_clientmgr.c | 2 |
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; |