ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop
In the unlock loop of snd_pcm_action_group(), the object "s" is used
as the check of nonatomic PCM, but it should be rather "s1", which is
the iterator of the loop. This supposedly causes a kernel panic when
the substreams in operatino are linked.
Fixes: 257f8cce5d
('ALSA: pcm: Allow nonatomic trigger operations')
Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3f4032861c
commit
811deedeba
|
@ -818,7 +818,7 @@ static int snd_pcm_action_group(struct action_ops *ops,
|
||||||
/* unlock streams */
|
/* unlock streams */
|
||||||
snd_pcm_group_for_each_entry(s1, substream) {
|
snd_pcm_group_for_each_entry(s1, substream) {
|
||||||
if (s1 != substream) {
|
if (s1 != substream) {
|
||||||
if (s->pcm->nonatomic)
|
if (s1->pcm->nonatomic)
|
||||||
mutex_unlock(&s1->self_group.mutex);
|
mutex_unlock(&s1->self_group.mutex);
|
||||||
else
|
else
|
||||||
spin_unlock(&s1->self_group.lock);
|
spin_unlock(&s1->self_group.lock);
|
||||||
|
|
Loading…
Reference in New Issue