[alsa-devel] [PATCH] ASoC: Intel: Skylake: Re-order some code to silence a warning

Sriram Periyasamy sriramx.periyasamy at intel.com
Mon Dec 11 11:33:07 CET 2017


On Mon, Dec 11, 2017 at 04:09:44PM +0530, Vinod Koul wrote:
> On Fri, Dec 08, 2017 at 02:54:25PM +0300, Dan Carpenter wrote:
> > I get a Smatch warning here:
> > 
> >     sound/soc/intel/skylake/skl-nhlt.c:335 skl_get_ssp_clks()
> >     error: testing array offset 'j' after use.
> > 
> > The code is harmless, but the checker is right that we should swap these
> > two conditions so we verify that the offset is within bounds before we
> > use it.
> 
> Acked-By: Vinod Koul <vinod.koul at intel.com>

Reviewed-by: Sriram Periyasamy <sriramx.periyasamy at intel.com>

> 
> > Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> > 
> > diff --git a/sound/soc/intel/skylake/skl-nhlt.c b/sound/soc/intel/skylake/skl-nhlt.c
> > index afa557a1c031..54f9bd630f4f 100644
> > --- a/sound/soc/intel/skylake/skl-nhlt.c
> > +++ b/sound/soc/intel/skylake/skl-nhlt.c
> > @@ -331,8 +331,8 @@ static void skl_get_ssp_clks(struct skl *skl, struct skl_ssp_clk *ssp_clks,
> >  		rate = channels * bps * fs;
> >  
> >  		/* check if the rate is added already to the given SSP's sclk */
> > -		for (j = 0; (sclk[id].rate_cfg[j].rate != 0) &&
> > -				(j < SKL_MAX_CLK_RATES); j++) {
> > +		for (j = 0; (j < SKL_MAX_CLK_RATES) &&
> > +			    (sclk[id].rate_cfg[j].rate != 0); j++) {
> >  			if (sclk[id].rate_cfg[j].rate == rate) {
> >  				present = true;
> >  				break;
> 
> -- 
> ~Vinod

-- 


More information about the Alsa-devel mailing list