From: Takashi Iwai Date: Tue, 4 Sep 2018 15:58:43 +0000 (+0200) Subject: staging: bcm2835-audio: Propagate parameter setup error X-Git-Tag: v4.20-rc1~72^2~457 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=947d7489f6d782d9150cb528272a729186be176e;p=thirdparty%2Fkernel%2Flinux.git staging: bcm2835-audio: Propagate parameter setup error When the parameter setup fails, the driver should propagate the error code instead of silently ignoring it. Signed-off-by: Takashi Iwai Tested-by: Stefan Wahren Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c index 13c61af4e723a..41bcaff6358bc 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c @@ -238,7 +238,7 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) runtime->rate, snd_pcm_format_width(runtime->format)); if (err < 0) - audio_error(" error setting hw params\n"); + goto out; memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect)); @@ -255,8 +255,9 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) alsa_stream->buffer_size, alsa_stream->period_size, alsa_stream->pos, runtime->frame_bits); + out: mutex_unlock(&chip->audio_mutex); - return 0; + return err; } static void snd_bcm2835_pcm_transfer(struct snd_pcm_substream *substream,