Re: [PATCH 16/29] staging: bcm2835-audio: Drop superfluous mutex lock during prepare

Stefan Wahren
2018-09-08T13:41:07Z

Hi,

> Takashi Iwai <tiwai@suse.de> hat am 4. September 2018 um 17:58 geschrieben:
>
>
> The chip->audio_mutex is used basically for protecting the opened
> stream assignment, and the prepare callback is irrelevant with it.
>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
> drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
> index 1f9c940f1cc3..9659c25b9f9d 100644
> --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
> +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
> @@ -218,8 +218,6 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
> int channels;
> int err;
>
> - mutex_lock(&chip->audio_mutex);
> -
> /* notify the vchiq that it should enter spdif passthrough mode by
> * setting channels=0 (see
> * https://github.com/raspberrypi/linux/issues/528)
> @@ -233,7 +231,7 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
> runtime->rate,
> snd_pcm_format_width(runtime->format));
> if (err < 0)
> - goto out;
> + return err;
>
> memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect));
>
> @@ -246,9 +244,7 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
> alsa_stream->pos = 0;
> alsa_stream->draining = false;
>
> - out:
> - mutex_unlock(&chip->audio_mutex);
> - return err;
> + return 0;

looks like your are removing code which has been added in patch #14 ?

> }
>
> static void snd_bcm2835_pcm_transfer(struct snd_pcm_substream *substream,
> --
> 2.18.0
>