Re: [PATCH v2 1/2] ASoC: codec: wm9860: avoid maybe-uninitialized warning

From: Arnd Bergmann
Date: Thu Apr 27 2017 - 07:53:53 EST


On Thu, Apr 27, 2017 at 1:02 PM, Daniel Baluta <daniel.baluta@xxxxxxx> wrote:
> On Jo, 2017-04-27 at 12:07 +0200, Arnd Bergmann wrote:
>> On Wed, Apr 26, 2017 at 3:09 PM, Daniel Baluta <daniel.baluta@xxxxxxx
>> > wrote:
>> >
>> > The new PLL configuration code triggers a harmless warning:
>> >
>> > sound/soc/codecs/wm8960.c: In function 'wm8960_configure_clocking':
>> > sound/soc/codecs/wm8960.c:735:3: error: 'best_freq_out' may be used
>> > uninitialized in this function [-Werror=maybe-uninitialized]
>> > wm8960_set_pll(codec, freq_in, best_freq_out);
>> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > sound/soc/codecs/wm8960.c:699:12: note: 'best_freq_out' was
>> > declared
>> > here
>> >
>> > Fix this by reworking the code such that:
>> >
>> > 1) When there is no PLL freq available return -EINVAL and make
>> > sure *bclk_idx, *dac_idx, *sysclk_idx are initialized with
>> > invalid values.
>> >
>> > 2) When there is a PLL freq available initialize *bclk_idx,
>> > *dac_idx and *sysclk_idx with correct values and immediately
>> > return the freq available.
>> >
>> > Fixes: 84fdc00d519f ("ASoC: codec: wm9860: Refactor PLL out freq
>> > search")
>> > Fixes: 303e8954af8d ("ASoC: codec: wm8960: Stop when a matching PLL
>> > freq is found")
>> > Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
>> > Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx>
>> Looks good to me. Let me know if you need me to test this more
>> thoroughly
>> with randconfig builds, otherwise I'll assume it's fine and it will
>> get tested once
>> it shows up in linux-next.
>>
>> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
>>
>
> Hi Arnd,
>
> Thanks for doing this. I wouldn't expect randconfigs builds to show
> other issues.
>
> Anyhow, would like to see if with your compiler there are no warnings
> for the second patch of the series:
>
> http://mailman.alsa-project.org/pipermail/alsa-devel/2017-April/120177.html

I've applied both patches to my randconfig tree now. The configuration
that first showed the problem works fine now, but with -Wmaybe-uninitialized
warnings I try to do additional randconfig tests as sometimes the warnings
come back depending on some other inlining decisions or optimization
flags.

Arnd