[bug report] ASoC: tegra: Add Tegra210 based OPE driver

Sameer Pujar spujar at nvidia.com
Tue Jun 14 06:17:21 CEST 2022


On 13-06-2022 19:40, Dan Carpenter wrote:
> Hello Sameer Pujar,
>
> The patch 7358a803c778: "ASoC: tegra: Add Tegra210 based OPE driver"
> from Jun 3, 2022, leads to the following Smatch static checker
> warning:
>
>          sound/soc/tegra/tegra210_mbdrc.c:778 tegra210_mbdrc_hw_params()
>          warn: bitwise AND condition is false here
>
> sound/soc/tegra/tegra210_mbdrc.c
>      769 int tegra210_mbdrc_hw_params(struct snd_soc_component *cmpnt)
>      770 {
>      771         struct tegra210_ope *ope = snd_soc_component_get_drvdata(cmpnt);
>      772         const struct tegra210_mbdrc_config *conf = &mbdrc_init_config;
>      773         u32 val = 0;
>      774         unsigned int i;
>      775
>      776         regmap_read(ope->mbdrc_regmap, TEGRA210_MBDRC_CFG, &val);
>      777
> --> 778         if (val & TEGRA210_MBDRC_CFG_MBDRC_MODE_BYPASS)
>                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> TEGRA210_MBDRC_CFG_MBDRC_MODE_BYPASS is zero so this can't be true.
>
> #define TEGRA210_MBDRC_CFG_MBDRC_MODE_BYPASS            (0 << TEGRA210_MBDRC_CFG_MBDRC_MODE_SHIFT)
>
> The common false positive with this warning is that the macro is
> something which depends on the .config and in that case I just add it
> to the list in smatch_data/kernel.unconstant_macros.  But in this case
> the macro is just always zero...  Is there a plan to make it
> configurable or something?

Thanks Dan for reporting this. The device is actually configurable. I 
will provide a patch to fix above condition.



More information about the Alsa-devel mailing list