ASoC: lpass-wsa-macro: add missing test
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 18 Feb 2021 22:29:16 +0000 (16:29 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 10 Mar 2021 13:01:58 +0000 (13:01 +0000)
cppcheck warning:

sound/soc/codecs/lpass-wsa-macro.c:958:6: style: Variable 'ret' is
reassigned a value before the old one has been
used. [redundantAssignment]
 ret = wsa_macro_set_prim_interpolator_rate(dai, (u8) rate_val, sample_rate);
     ^
sound/soc/codecs/lpass-wsa-macro.c:946:6: note: ret is assigned
 ret = wsa_macro_set_mix_interpolator_rate(dai, (u8) rate_val, sample_rate);
     ^
sound/soc/codecs/lpass-wsa-macro.c:958:6: note: ret is overwritten
 ret = wsa_macro_set_prim_interpolator_rate(dai, (u8) rate_val, sample_rate);
     ^

set_mix_interpolator_rate can return -EINVAL, add a test and bail on error.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20210218222916.89809-11-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/lpass-wsa-macro.c

index 9ca49a165f693090875ee92ef3eff94835e8f3cc..e37c8148c0de2b9a612df760316949ddf6ea6733 100644 (file)
@@ -944,6 +944,8 @@ static int wsa_macro_set_interpolator_rate(struct snd_soc_dai *dai,
                goto prim_rate;
 
        ret = wsa_macro_set_mix_interpolator_rate(dai, (u8) rate_val, sample_rate);
+       if (ret < 0)
+               return ret;
 prim_rate:
        /* set primary path sample rate */
        for (i = 0; i < ARRAY_SIZE(int_prim_sample_rate_val); i++) {