On Thu, Mar 07, 2013 at 03:30:25PM +0000, Damien Lespiau wrote: > Our static analysis tool noticed that 'reg' could be used uninitialized if > we are trying to get a PLL to drive VGA and SPLL is already in use > (plls->spll_refcoung != 0). > > In the (error) case above, let's return false to the caller and emit an > error. > > Signed-off-by: Damien Lespiau <damien.lespiau at intel.com> > --- > drivers/gpu/drm/i915/intel_ddi.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index a1505e3..0eab200 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -898,6 +898,9 @@ bool intel_ddi_pll_mode_set(struct drm_crtc *crtc, int clock) > plls->spll_refcount++; > reg = SPLL_CTL; > intel_crtc->ddi_pll_sel = PORT_CLK_SEL_SPLL; > + } else { > + DRM_ERROR("SPLL already in use\n"); > + return false; > } > > WARN(I915_READ(reg) & SPLL_PLL_ENABLE, I know very little about this code, but the warning still seems valuable to me. How about instead of else, move the reg = SPLL_CTL above the 'if' -- Ben Widawsky, Intel Open Source Technology Center