[alsa-devel] Missing return check of of_property_read_*()
Lars-Peter Clausen
lars at metafoo.de
Wed Sep 9 17:05:05 CEST 2015
On 09/09/2015 05:01 PM, Takashi Iwai wrote:
> On Wed, 09 Sep 2015 16:51:58 +0200,
> Mark Brown wrote:
>>
>> On Wed, Sep 09, 2015 at 04:40:36PM +0200, Takashi Iwai wrote:
>>
>>> I hoped that I wouldn't need to write this kind of post, but since
>>> nothing happened so far, so here we go:
>>
>> Could you be more specific about nothing happening here...
>
> A wonderful gift such like a devoted maintainer/developer already
> fixing these bugs magically :)
>
>>> The following compile warnings are present for quite some time. They
>>> are due to the lack of return check from of_property_read*().
>>
>>> sound/soc/codecs/cs35l32.c: In function ‘cs35l32_i2c_probe’:
>>> sound/soc/codecs/cs35l32.c:278:2: warning: ‘val’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>>> switch (val) {
>>> ^
>>> sound/soc/codecs/cs35l32.c:272:15: note: ‘val’ was declared here
>>> unsigned int val;
>>> ^
>>
>> How are you generating these - what compiler and config? None of the
>> build bots are reporting any of the warnings you have here.
>
> Then maybe this can be seen since gcc 5.x. A good progress of gcc.
> I've seen this since the beginning of merge for cs35l32.c (and I
> reported this already at merging the branch).
>
> There is nothing special in config or compiler option, just use the
> normal x86-64 build with CONFIG_COMPILE_TEST. I'm using gcc-5.1.1 for
> now.
I think you'll get them for any config with CONFIG_OF disabled. I've been
seeing those warnings for a while now when compile-testing for x86 and I'm
still on gcc 4.9.
But even if you don't get the warning the code is still broken, the compiler
just does not know.
- Lars
More information about the Alsa-devel
mailing list