diff options
author | Sameer Pujar <spujar@nvidia.com> | 2022-06-15 07:38:34 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-06-15 11:24:38 +0300 |
commit | 4edf738d4c7989c315e37d4d61e34c94557b6ed2 (patch) | |
tree | b9b3409c54eb1a6ad4daa412edf11ee5232710c9 /sound/soc/tegra | |
parent | 5983a8a4a4dc13b5f192212a5e744eb303cd65c2 (diff) | |
download | linux-4edf738d4c7989c315e37d4d61e34c94557b6ed2.tar.xz |
ASoC: tegra: Fix MBDRC bypass mode check
MBDRC supports different modes of operation. There is no configuration
required for bypass mode. The hw_params() call does not filter bypass
mode correctly and it leads to following Smatch static checker warning:
sound/soc/tegra/tegra210_mbdrc.c:778 tegra210_mbdrc_hw_params()
warn: bitwise AND condition is false here
Fix this condition by using proper mode mask and just return for bypass
mode.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 7358a803c778 ("ASoC: tegra: Add Tegra210 based OPE driver")
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/1655267914-24702-1-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/tegra')
-rw-r--r-- | sound/soc/tegra/tegra210_mbdrc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/tegra/tegra210_mbdrc.c b/sound/soc/tegra/tegra210_mbdrc.c index 7d9da33a9951..d786daa6aba6 100644 --- a/sound/soc/tegra/tegra210_mbdrc.c +++ b/sound/soc/tegra/tegra210_mbdrc.c @@ -775,7 +775,9 @@ int tegra210_mbdrc_hw_params(struct snd_soc_component *cmpnt) regmap_read(ope->mbdrc_regmap, TEGRA210_MBDRC_CFG, &val); - if (val & TEGRA210_MBDRC_CFG_MBDRC_MODE_BYPASS) + val &= TEGRA210_MBDRC_CFG_MBDRC_MODE_MASK; + + if (val == TEGRA210_MBDRC_CFG_MBDRC_MODE_BYPASS) return 0; for (i = 0; i < MBDRC_NUM_BAND; i++) { |