Loading sound/core/pcm_native.c +10 −25 Original line number Diff line number Diff line Loading @@ -900,14 +900,19 @@ static int snd_pcm_action_single(struct action_ops *ops, return res; } /* call in mutex-protected context */ static int snd_pcm_action_mutex(struct action_ops *ops, /* * Note: call with stream lock */ static int snd_pcm_action(struct action_ops *ops, struct snd_pcm_substream *substream, int state) { int res; if (snd_pcm_stream_linked(substream)) { if (!snd_pcm_stream_linked(substream)) return snd_pcm_action_single(ops, substream, state); if (substream->pcm->nonatomic) { if (!mutex_trylock(&substream->group->mutex)) { mutex_unlock(&substream->self_group.mutex); mutex_lock(&substream->group->mutex); Loading @@ -916,24 +921,6 @@ static int snd_pcm_action_mutex(struct action_ops *ops, res = snd_pcm_action_group(ops, substream, state, 1); mutex_unlock(&substream->group->mutex); } else { res = snd_pcm_action_single(ops, substream, state); } return res; } /* * Note: call with stream lock */ static int snd_pcm_action(struct action_ops *ops, struct snd_pcm_substream *substream, int state) { int res; if (substream->pcm->nonatomic) return snd_pcm_action_mutex(ops, substream, state); if (snd_pcm_stream_linked(substream)) { if (!spin_trylock(&substream->group->lock)) { spin_unlock(&substream->self_group.lock); spin_lock(&substream->group->lock); Loading @@ -941,8 +928,6 @@ static int snd_pcm_action(struct action_ops *ops, } res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->group->lock); } else { res = snd_pcm_action_single(ops, substream, state); } return res; } Loading Loading
sound/core/pcm_native.c +10 −25 Original line number Diff line number Diff line Loading @@ -900,14 +900,19 @@ static int snd_pcm_action_single(struct action_ops *ops, return res; } /* call in mutex-protected context */ static int snd_pcm_action_mutex(struct action_ops *ops, /* * Note: call with stream lock */ static int snd_pcm_action(struct action_ops *ops, struct snd_pcm_substream *substream, int state) { int res; if (snd_pcm_stream_linked(substream)) { if (!snd_pcm_stream_linked(substream)) return snd_pcm_action_single(ops, substream, state); if (substream->pcm->nonatomic) { if (!mutex_trylock(&substream->group->mutex)) { mutex_unlock(&substream->self_group.mutex); mutex_lock(&substream->group->mutex); Loading @@ -916,24 +921,6 @@ static int snd_pcm_action_mutex(struct action_ops *ops, res = snd_pcm_action_group(ops, substream, state, 1); mutex_unlock(&substream->group->mutex); } else { res = snd_pcm_action_single(ops, substream, state); } return res; } /* * Note: call with stream lock */ static int snd_pcm_action(struct action_ops *ops, struct snd_pcm_substream *substream, int state) { int res; if (substream->pcm->nonatomic) return snd_pcm_action_mutex(ops, substream, state); if (snd_pcm_stream_linked(substream)) { if (!spin_trylock(&substream->group->lock)) { spin_unlock(&substream->self_group.lock); spin_lock(&substream->group->lock); Loading @@ -941,8 +928,6 @@ static int snd_pcm_action(struct action_ops *ops, } res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->group->lock); } else { res = snd_pcm_action_single(ops, substream, state); } return res; } Loading