On Fri, May 06, 2016 at 03:39:03PM +0200, Daniel Vetter wrote: > This was forgotten when adding the the refcounting to > drm_connector_state. > > v2: Don't forget to unreference existing connectors. This isn't > relevant on driver load, but this code also runs on resume, and there > we already have an atomic state. Spotted by Chris Wilson. > > Cc: Gabriel Feceoru <gabriel.feceoru@xxxxxxxxx> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Marius Vlad <marius.c.vlad@xxxxxxxxx> > Cc: Dave Airlie <airlied@xxxxxxxxxx> > Fixes: d2307dea14a4 ("drm/atomic: use connector references (v3)") > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 45c218db86be..6ba676f81bae 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12023,11 +12023,16 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) > struct intel_connector *connector; > > for_each_intel_connector(dev, connector) { > + if (connector->base.state->crtc) > + drm_connector_unreference(&connector->base); > + > if (connector->base.encoder) { > connector->base.state->best_encoder = > connector->base.encoder; > connector->base.state->crtc = > connector->base.encoder->crtc; > + > + drm_connector_reference(&connector->base); Is it safe to unref before ref? > } else { > connector->base.state->best_encoder = NULL; > connector->base.state->crtc = NULL; > -- > 2.5.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel