[PATCH] ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()

Claudiu.Beznea at microchip.com Claudiu.Beznea at microchip.com
Thu Feb 2 08:56:50 PST 2023


On 02.02.2023 18:34, Nathan Chancellor wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Clang warns:
> 
>   ../sound/soc/atmel/mchp-spdifrx.c:455:3: error: variable 'mr' is uninitialized when used here [-Werror,-Wuninitialized]
>                   mr |= SPDIFRX_MR_ENDIAN_BIG;
>                   ^~
>   ../sound/soc/atmel/mchp-spdifrx.c:432:8: note: initialize the variable 'mr' to silence this warning
>           u32 mr;
>                 ^
>                  = 0
>   1 error generated.
> 
> Zero initialize mr so that these bitwise OR and assignment operation
> works unconditionally.
> 
> Fixes: fa09fa60385a ("ASoC: mchp-spdifrx: fix controls which rely on rsr register")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1797
> Signed-off-by: Nathan Chancellor <nathan at kernel.org>

Reviewed-by: Claudiu Beznea <claudiu.beznea at microchip.com>


> ---
>  sound/soc/atmel/mchp-spdifrx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/atmel/mchp-spdifrx.c b/sound/soc/atmel/mchp-spdifrx.c
> index 526dd3a17471..eb0c0ef4541e 100644
> --- a/sound/soc/atmel/mchp-spdifrx.c
> +++ b/sound/soc/atmel/mchp-spdifrx.c
> @@ -429,7 +429,7 @@ static int mchp_spdifrx_hw_params(struct snd_pcm_substream *substream,
>                                   struct snd_soc_dai *dai)
>  {
>         struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai);
> -       u32 mr;
> +       u32 mr = 0;
>         int ret;
> 
>         dev_dbg(dev->dev, "%s() rate=%u format=%#x width=%u channels=%u\n",
> 
> ---
> base-commit: 1d78f19d90d1932c83d8c96c6f86fbb06c05e29a
> change-id: 20230202-mchp-spdifrx-fix-uninit-mr-80528f2024c9
> 
> Best regards,
> --
> Nathan Chancellor <nathan at kernel.org>
> 



More information about the linux-arm-kernel mailing list