[alsa-devel] [PATCH 2/4] ASoC: codecs: msm8916: fix invalid cast to bool type

Mark Brown broonie at kernel.org
Mon May 15 10:17:48 CEST 2017


On Mon, May 15, 2017 at 10:14:28AM +0200, Takashi Iwai wrote:
> Mark Brown wrote:

> > On Tue, May 02, 2017 at 10:33:01PM +0900, Takashi Sakamoto wrote:

> > > This commit fixes this bug by using unsigned int type, instead of bool.
> > > This bug is detected by sparse:
> > 
> > > smsm8916-wcd-analog.c:809:43: warning: odd constant _Bool cast (40 becomes 1)
> > > smsm8916-wcd-analog.c:814:43: warning: odd constant _Bool cast (40 becomes 1)

> > This looks like a bug in sparse - the use of integers in a boolean
> > context is totally valid and especially the fact that it is claiming
> > there is a cast when clearly there is no cast is an obvious red flag, at
> > the very least the message it reports is bogus.

> Well, the function pm8916_wcd_analog_parse_dt() assigns a non-boolean
> value (BIT(6)) to a boolean field, and the value is supposed to be
> kept and passed to snd_soc_update_bits(), instead of dealing as a
> boolean.  It looks rather like a buggy code to me.

The code is buggy (which is why I applied the patch) but the error
message is talking about casts that simply aren't there which is also
buggy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20170515/2a9549bb/attachment.sig>


More information about the Alsa-devel mailing list