projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Merge remote-tracking branch 'torvalds/master' into perf/core
[linux-2.6-microblaze.git]
/
sound
/
core
/
seq
/
seq_timer.c
diff --git
a/sound/core/seq/seq_timer.c
b/sound/core/seq/seq_timer.c
index
1645e41
..
9863be6
100644
(file)
--- a/
sound/core/seq/seq_timer.c
+++ b/
sound/core/seq/seq_timer.c
@@
-297,8
+297,16
@@
int snd_seq_timer_open(struct snd_seq_queue *q)
return err;
}
spin_lock_irq(&tmr->lock);
- tmr->timeri = t;
+ if (tmr->timeri)
+ err = -EBUSY;
+ else
+ tmr->timeri = t;
spin_unlock_irq(&tmr->lock);
+ if (err < 0) {
+ snd_timer_close(t);
+ snd_timer_instance_free(t);
+ return err;
+ }
return 0;
}