diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-07 22:51:47 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-07 22:51:47 -0500 |
commit | 6b995751c2e851d2bc9c277b5884d0adb519e31d (patch) | |
tree | 7a15b41b5d8ce612915584a0773c670d5c0ab5b8 /sound/core/seq/seq_instr.c | |
parent | 6c2f4267833f453156f8f439cc32eb4c92f357b4 (diff) | |
parent | d27ba47e7e8c466c18983a1779d611f82d6a354f (diff) |
Merge branch 'master'
Diffstat (limited to 'sound/core/seq/seq_instr.c')
-rw-r--r-- | sound/core/seq/seq_instr.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sound/core/seq/seq_instr.c b/sound/core/seq/seq_instr.c index 019d43a462d7..1d525b13ebb6 100644 --- a/sound/core/seq/seq_instr.c +++ b/sound/core/seq/seq_instr.c | |||
@@ -109,8 +109,7 @@ void snd_seq_instr_list_free(snd_seq_kinstr_list_t **list_ptr) | |||
109 | spin_lock_irqsave(&list->lock, flags); | 109 | spin_lock_irqsave(&list->lock, flags); |
110 | while (instr->use) { | 110 | while (instr->use) { |
111 | spin_unlock_irqrestore(&list->lock, flags); | 111 | spin_unlock_irqrestore(&list->lock, flags); |
112 | set_current_state(TASK_INTERRUPTIBLE); | 112 | schedule_timeout_interruptible(1); |
113 | schedule_timeout(1); | ||
114 | spin_lock_irqsave(&list->lock, flags); | 113 | spin_lock_irqsave(&list->lock, flags); |
115 | } | 114 | } |
116 | spin_unlock_irqrestore(&list->lock, flags); | 115 | spin_unlock_irqrestore(&list->lock, flags); |
@@ -199,10 +198,8 @@ int snd_seq_instr_list_free_cond(snd_seq_kinstr_list_t *list, | |||
199 | while (flist) { | 198 | while (flist) { |
200 | instr = flist; | 199 | instr = flist; |
201 | flist = instr->next; | 200 | flist = instr->next; |
202 | while (instr->use) { | 201 | while (instr->use) |
203 | set_current_state(TASK_INTERRUPTIBLE); | 202 | schedule_timeout_interruptible(1); |
204 | schedule_timeout(1); | ||
205 | } | ||
206 | if (snd_seq_instr_free(instr, atomic)<0) | 203 | if (snd_seq_instr_free(instr, atomic)<0) |
207 | snd_printk(KERN_WARNING "instrument free problem\n"); | 204 | snd_printk(KERN_WARNING "instrument free problem\n"); |
208 | instr = next; | 205 | instr = next; |
@@ -554,8 +551,7 @@ static int instr_free(snd_seq_kinstr_ops_t *ops, | |||
554 | instr->ops->notify(instr->ops->private_data, instr, SNDRV_SEQ_INSTR_NOTIFY_REMOVE); | 551 | instr->ops->notify(instr->ops->private_data, instr, SNDRV_SEQ_INSTR_NOTIFY_REMOVE); |
555 | while (instr->use) { | 552 | while (instr->use) { |
556 | spin_unlock_irqrestore(&list->lock, flags); | 553 | spin_unlock_irqrestore(&list->lock, flags); |
557 | set_current_state(TASK_INTERRUPTIBLE); | 554 | schedule_timeout_interruptible(1); |
558 | schedule_timeout(1); | ||
559 | spin_lock_irqsave(&list->lock, flags); | 555 | spin_lock_irqsave(&list->lock, flags); |
560 | } | 556 | } |
561 | spin_unlock_irqrestore(&list->lock, flags); | 557 | spin_unlock_irqrestore(&list->lock, flags); |