[PATCH][next] ASoC: soc-pcm: Fix uninitialised return value in variable ret

Dan Carpenter dan.carpenter at oracle.com
Tue Jan 12 11:22:04 CET 2021


On Mon, Jan 11, 2021 at 05:37:36PM +0000, Colin Ian King wrote:
> On 11/01/2021 16:35, Mark Brown wrote:
> > On Fri, Jan 08, 2021 at 12:35:46PM +0000, Colin King wrote:
> >> From: Colin Ian King <colin.king at canonical.com>
> >>
> >> Currently when attempting to start the BE fails because the
> >> FE is not started the error return variable ret is not initialized
> >> and garbage is returned.  Fix this by setting it to 0 so the
> > 
> > This doesn't apply against current code, please check and resend.
> > 
> 
> Current ASoC tree now has two commits:
> 
> commit 4eeed5f40354735c4e68e71904db528ed19c9cbb
> Author: Souptick Joarder <jrdr.linux at gmail.com>
> Date:   Sat Jan 9 09:15:01 2021 +0530
> 
>     ASoC: soc-pcm: return correct -ERRNO in failure path
> 
> commit e91b65b36fde0690f1c694f17dd1b549295464a7
> Author: Dan Carpenter <dan.carpenter at oracle.com>
> Date:   Mon Jan 11 12:50:21 2021 +0300
> 
>     ASoC: soc-pcm: Fix an uninitialized error code
> 
> ..both set ret to non-zero, which I believe will throw a subsequent
> warning messagethat's not strictly related.

My patch restored the original behavior.  And I think that errors should
return error codes.  What you're saying is basically "Returning an error
is a bug because it will trigger an error message in the caller".  So
then we have to have a debate about printks as a layering violation.

I don't like error messages generally, because I think they make the
code messy.  A lot of people put error messages for impossible things.
Or if a kmalloc() fails or whatever.  There are too many error messages
which people add in an auto-pilot way without considering whether it's
necessary.

But some people think, and maybe they're correct, that it's best if
every function in the call tree prints a message.  That way you can
trace the error path easily.

regards,
dan carpenter



More information about the Alsa-devel mailing list