[alsa-devel] [PATCH] ALSA: dice: improve support for ancient firmware for DICE

Takashi Sakamoto o-takashi at sakamocchi.jp
Tue Apr 24 15:35:08 CEST 2018


On Apr 24 2018 21:57, Takashi Sakamoto wrote:
> Hi,
> 
> On Apr 24 2018 20:49, Takashi Iwai wrote:
>> On Sun, 22 Apr 2018 20:25:36 +0200,
>> kbuild test robot wrote:
>>>
>>> sparse warnings: (new ones prefixed by >>)
>>>
>>>>> sound/firewire/dice/dice-transaction.c:334:21: sparse: restricted 
>>>>> __be32 degrades to integer
>>>     sound/firewire/dice/dice-transaction.c:336:21: sparse: restricted 
>>> __be32 degrades to integer
>>>
>>> vim +334 sound/firewire/dice/dice-transaction.c
>> (snip)
>>>     333        /* Old firmware doesn't support these fields. */
>>>   > 334        if (pointers[7] > 0)
>>>     335            dice->sync_offset = be32_to_cpu(pointers[6]) * 4;
>>>     336        if (pointers[9] > 0)
>>>     337            dice->rsrv_offset = be32_to_cpu(pointers[8]) * 4;
>>
>> The warning looks reasonable.
> 
> Yep. The integer value can be negative.
> 
>> Alternatively, you can rewrite it as a non-zero check:
>>     if (pointers[7])
>>         ....
>> Then it would be OK without endian conversion.
> 
> OK. I'll repost.

I reposted it now and it's blasted[1]. Please evaluate and apply it 
instead of the one which I mistook to send.


[1] 
http://mailman.alsa-project.org/pipermail/alsa-devel/2018-April/134936.html

Thanks

Takashi Sakamoto


More information about the Alsa-devel mailing list