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
> 

Reply via email to