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

Dan Carpenter dan.carpenter at oracle.com
Tue Jun 14 08:09:27 CEST 2022


On Tue, Jun 14, 2022 at 09:47:21AM +0530, Sameer Pujar wrote:
> 
> 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.

What I meant by configurable is:

#ifdef CONFIG_FOO
#define MASK 0x30
#else
#define MASK 0
#endif

Smatch works on the preprocessed source so it doesn't see that there
are two definitions of MASK.

regards,
dan carpenter


More information about the Alsa-devel mailing list