[alsa-devel] Question about the right fix for a sparse warning

Takashi Iwai tiwai at suse.de
Wed Jan 29 08:55:25 CET 2020


On Wed, 29 Jan 2020 02:11:38 +0100,
Sridharan, Ranjani wrote:
> 
> Hi Takashi,
> 
> We're seeing the following sparse warning in the SOF code:
> 
> sound/soc/sof/sof-audio.c:86:31: warning: incorrect type in assignment (different base types)
> sound/soc/sof/sof-audio.c:86:31:    expected restricted snd_pcm_state_t [usertype] state
> sound/soc/sof/sof-audio.c:86:31:    got signed int [signed] [usertype] [explicitly-signed] state
> 
> The line under scrutiny where we assign "state" is as follows:
> 
> state = substream->runtime->status->state;
> 
> and it is defined as 
> snd_pcm_state_t state;
> 
> There are other places (ex pcm_oss.c) where a similar assignment has been used
> as well.
> 
> What fixes the issue is a forced cast to snd_pcm_state_t as below before
> assigning:
>  state = (__force snd_pcm_state_t)substream->runtime->status->state;
> 
> Do you think this is acceptable? If not, could you please suggest an
> alternative?

Hm, I don't see the warning in my code.  Did you merge all upstream
stuff and still get it?


Takashi


More information about the Alsa-devel mailing list