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.fece...@intel.com> > Cc: Chris Wilson <ch...@chris-wilson.co.uk> > Cc: Marius Vlad <marius.c.v...@intel.com> > Cc: Dave Airlie <airl...@redhat.com> > Fixes: d2307dea14a4 ("drm/atomic: use connector references (v3)") > Signed-off-by: Daniel Vetter <daniel.vet...@intel.com> > --- > 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-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx