ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
authorNathan Chancellor <nathan@kernel.org>
Thu, 2 Feb 2023 16:34:19 +0000 (09:34 -0700)
committerMark Brown <broonie@kernel.org>
Thu, 2 Feb 2023 17:36:53 +0000 (17:36 +0000)
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@kernel.org>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230202-mchp-spdifrx-fix-uninit-mr-v1-1-629a045d7a2f@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/atmel/mchp-spdifrx.c

index 526dd3a..eb0c0ef 100644 (file)
@@ -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",