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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Jan 29 18:26:37 CET 2020



On 1/29/20 11:16 AM, Sridharan, Ranjani wrote:
>>
>>> 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.

Nice, thanks Takashi, Ranjani and I were lost on this one.

>>
>>
>> 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
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list