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

Sridharan, Ranjani ranjani.sridharan at intel.com
Wed Jan 29 18:16:43 CET 2020


>
> > Sorry, my bad, it seems that my sparse program was too old.  After
> > upgrading to the latest version, I could see the warning, too.
>
> ... and the cause was what I suspected: it's a 64bit compat type that
> defines the fields explicitly with __s32.  I overlooked that it's
> always used for __KERNEL__.  The tentative fix is below.
>
>
> thanks,
>
> Takashi
>
>
> --- a/include/uapi/sound/asound.h
> +++ b/include/uapi/sound/asound.h
> @@ -564,13 +564,13 @@ typedef char __pad_after_uframe[sizeof(__u64) -
> sizeof(snd_pcm_uframes_t)];
>  #endif
>
>  struct __snd_pcm_mmap_status64 {
> -       __s32 state;                    /* RO: state -
> SNDRV_PCM_STATE_XXXX */
> +       snd_pcm_state_t state;          /* RO: state -
> SNDRV_PCM_STATE_XXXX */
>         __u32 pad1;                     /* Needed for 64 bit alignment */
>         __pad_before_uframe __pad1;
>         snd_pcm_uframes_t hw_ptr;       /* RO: hw ptr (0...boundary-1) */
>         __pad_after_uframe __pad2;
>         struct __snd_timespec64 tstamp; /* Timestamp */
> -       __s32 suspended_state;          /* RO: suspended stream state */
> +       snd_pcm_state_t suspended_state;        /* RO: suspended stream
> state */
>         __u32 pad3;                     /* Needed for 64 bit alignment */
>         struct __snd_timespec64 audio_tstamp; /* sample counter or wall
> clock */
>  };
>

Thanks, Takashi. I will prepare a patch with the fix.

Thanks,
Ranjani


More information about the Alsa-devel mailing list