[alsa-devel] [PATCH 01/06] Fix compilation warning for sound/soc/codecs/wm8400.c

Takashi Iwai tiwai at suse.de
Thu Jul 16 15:34:06 CEST 2009


At Thu, 16 Jul 2009 14:23:08 +0100,
Mark Brown wrote:
> 
> On Thu, Jul 16, 2009 at 06:40:01PM +0530, Subrata Modak wrote:
> 
> > How about the following brutal shutdown ?
> 
> No, this is the patch you originally submitted.  You are missing the
> point here - your patches are all just papering over the warning and
> won't help at all if there is an actual problem.
> 
> > 'factors' will get initialized here, as, 'freq_out' will probably never have
> > a '0' value. So, 'fll_factors()' will actually overwrite values in 'factors'
> > even after the initial brutal assignment:
> > 	"struct fll_factors factors = {}"
> 
> This is pretty much the point of the warning when it's valid - it's
> trying to catch situations where there is a code path where the variable
> is used without being initialised.  If you just blindly initialise the
> variable as you are doing then the warning goes away but any problematic
> code remains so the situation is worse.
> 
> In this case I suspect that whatever compiler you are using (none of
> those I've tried with seem to be doing this) isn't able to figure out
> that if we skip initialising the variable then we use exactly the same
> condition to return from the function before we try to use the variable.

I get compile warnings on gcc 4.4.0, too.


> For something like this the warning can normally be worked around by
> changing the control flow so that the compiler is able to figure out
> that things are safe.

Agreed.


Takashi


More information about the Alsa-devel mailing list