On Wed, Jun 03, 2026 at 10:59:54AM +0200, Kory Maincent wrote: > intel_dp_aux_fini() is already invoked via intel_dp_encoder_flush_work() > in the encoder destroy path (intel_dp_encoder_destroy() and > intel_ddi_encoder_destroy()). Calling it explicitly when > intel_edp_init_connector() fails before jumping to the fail label > therefore results in a double invocation. Drop the redundant call.
Could you please describe the exact call chain leading to intel_dp_encoder_flush_work() if intel_dp_init_connector() fails? > Cc: [email protected] > Fixes: c191eca110a37 ("drm/i915: Move intel_connector->unregister to > connector->early_unregister") > Signed-off-by: Kory Maincent <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index f01a6eed38395..f4fab568172f4 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -7310,10 +7310,8 @@ intel_dp_init_connector(struct intel_digital_port > *dig_port, > connector->get_hw_state = intel_connector_get_hw_state; > connector->sync_state = intel_dp_connector_sync_state; > > - if (!intel_edp_init_connector(intel_dp, connector)) { > - intel_dp_aux_fini(intel_dp); > + if (!intel_edp_init_connector(intel_dp, connector)) > goto fail; > - } > > intel_dp_set_source_rates(intel_dp); > intel_dp_set_common_rates(intel_dp); > > -- > 2.43.0 >
