Skip to content

Commit

Permalink
ALSA: pcm: Avoid confusing loop in snd_pcm_unlink()
Browse files Browse the repository at this point in the history
The snd_pcm_group_for_each_entry() loop found in snd_pcm_unlink() is
only for taking the first list entry.  Use list_first_entry() to make
clearer.

Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Jan 21, 2019
1 parent a41c4cb commit 7df5a5f
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions sound/core/pcm_native.c
Original file line number Diff line number Diff line change
Expand Up @@ -2023,7 +2023,6 @@ static void relink_to_local(struct snd_pcm_substream *substream)

static int snd_pcm_unlink(struct snd_pcm_substream *substream)
{
struct snd_pcm_substream *s;
struct snd_pcm_group *group;
int res = 0;

Expand All @@ -2040,10 +2039,9 @@ static int snd_pcm_unlink(struct snd_pcm_substream *substream)

/* detach the last stream, too */
if (list_is_singular(&group->substreams)) {
snd_pcm_group_for_each_entry(s, substream) {
relink_to_local(s);
break;
}
relink_to_local(list_first_entry(&group->substreams,
struct snd_pcm_substream,
link_list));
kfree(group);
}

Expand Down

0 comments on commit 7df5a5f

Please sign in to comment.