Re: [PATCH] ASoC: codecs: aw88261: avoid uninitialized variable warning

From: Nathan Chancellor
Date: Tue Aug 08 2023 - 13:47:12 EST


On Tue, Aug 08, 2023 at 02:56:54PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> aw88261_reg_update() returns an unintialized error code in the
> success path:
>
> sound/soc/codecs/aw88261.c:651:7: error: variable 'ret' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
> if (aw_dev->prof_cur != aw_dev->prof_index) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> sound/soc/codecs/aw88261.c:660:9: note: uninitialized use occurs here
> return ret;
> ^~~
> sound/soc/codecs/aw88261.c:651:3: note: remove the 'if' if its condition is always true
> if (aw_dev->prof_cur != aw_dev->prof_index) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Return zero instead here.
>
> Fixes: 028a2ae256916 ("ASoC: codecs: Add aw88261 amplifier driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Alternatively, it seems like the final 'return ret' can just be replaced
with 'return 0', as every other assignment of ret returns directly if it
is not zero. Regardless:

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
> sound/soc/codecs/aw88261.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/soc/codecs/aw88261.c b/sound/soc/codecs/aw88261.c
> index 82923b454dd47..6e2266b713862 100644
> --- a/sound/soc/codecs/aw88261.c
> +++ b/sound/soc/codecs/aw88261.c
> @@ -652,6 +652,8 @@ static int aw88261_reg_update(struct aw88261 *aw88261, bool force)
> ret = aw88261_dev_fw_update(aw88261);
> if (ret)
> return ret;
> + } else {
> + ret = 0;
> }
> }
>
> --
> 2.39.2
>