[PULL] drm-intel-next-fixes

Daniel Vetter daniel at ffwll.ch
Fri Jun 19 08:24:26 PDT 2015


On Fri, Jun 19, 2015 at 01:48:13PM +1000, Dave Airlie wrote:
> On 18 June 2015 at 16:04, Jani Nikula <jani.nikula at intel.com> wrote:
> >
> > Hi Dave, i915 fixes for drm-next/v4.2.
> >
> > BR,
> > Jani.
> 
> And my gcc says:
> 
> /home/airlied/devel/kernel/drm-next/drivers/gpu/drm/i915/intel_display.c:
> In function ‘__intel_set_mode’:
> /home/airlied/devel/kernel/drm-next/drivers/gpu/drm/i915/intel_display.c:11850:14:
> warning: ‘crtc_state’ may be used uninitialized in this function
> [-Wmaybe-uninitialized]
>   return state->mode_changed || state->active_changed;
>               ^
> /home/airlied/devel/kernel/drm-next/drivers/gpu/drm/i915/intel_display.c:11860:25:
> note: ‘crtc_state’ was declared here
>   struct drm_crtc_state *crtc_state;
>                          ^
> /home/airlied/devel/kernel/drm-next/drivers/gpu/drm/i915/intel_display.c:11874:6:
> warning: ‘crtc’ may be used uninitialized in this function
> [-Wmaybe-uninitialized]
>    if (crtc != intel_encoder->base.crtc)
>       ^
> /home/airlied/devel/kernel/drm-next/drivers/gpu/drm/i915/intel_display.c:11859:19:
> note: ‘crtc’ was declared here
>   struct drm_crtc *crtc;
>                    ^
> 
> No idea if this is true, but I don't think I've seen it before now.
> 
> gcc 5.1.1 on fedora 22

Yeah this is new with Ander's patches. gcc Doesn't know that we have at
least 1 crtc and hence crtc&crtc are guaranteed to be initiliazed. I
think you should be able to shut it up with

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index e047105837c9..5ade250dc6d7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11856,8 +11856,8 @@ intel_modeset_update_state(struct drm_atomic_state *state)
 	struct drm_device *dev = state->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_encoder *intel_encoder;
-	struct drm_crtc *crtc;
-	struct drm_crtc_state *crtc_state;
+	struct drm_crtc *crtc = NULL;
+	struct drm_crtc_state *crtc_state = NULL;
 	struct drm_connector *connector;
 	int i;
 
But the entire Finland team is out of office (celebrating solstice), so
might be better to wait for Monday for them to confirm. Otherwise just
apply this fixup with my ack if you want to send out the merge window pull
asap.

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list