summaryrefslogtreecommitdiff
path: root/sound/soc/tegra
diff options
context:
space:
mode:
authorSameer Pujar <spujar@nvidia.com>2022-06-15 07:38:34 +0300
committerMark Brown <broonie@kernel.org>2022-06-15 11:24:38 +0300
commit4edf738d4c7989c315e37d4d61e34c94557b6ed2 (patch)
treeb9b3409c54eb1a6ad4daa412edf11ee5232710c9 /sound/soc/tegra
parent5983a8a4a4dc13b5f192212a5e744eb303cd65c2 (diff)
downloadlinux-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.c4
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++) {