Hi, > Takashi Iwai <ti...@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 <ti...@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 >