[PATCH] drm/bridge: Ignore -EPROBE_DEFER when bridge attach fails

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Oct 12 20:17:07 UTC 2021


Hi Guido,

Thank you for the patch.

On Tue, Oct 12, 2021 at 09:58:58PM +0200, Guido Günther wrote:
> Otherwise logs are filled with
> 
>   [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc at 0/bus at 30800000/mipi-dsi at 30a0 0000 to encoder None-34: -517
> 
> when the bridge isn't ready yet.
> 
> Fixes: fb8d617f8fd6 ("drm/bridge: Centralize error message when bridge attach fails")
> Signed-off-by: Guido Günther <agx at sigxcpu.org>
> ---
>  drivers/gpu/drm/drm_bridge.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
> index a8ed66751c2d..f0508e85ae98 100644
> --- a/drivers/gpu/drm/drm_bridge.c
> +++ b/drivers/gpu/drm/drm_bridge.c
> @@ -227,14 +227,15 @@ int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
>  	bridge->encoder = NULL;
>  	list_del(&bridge->chain_node);
>  
> +	if (ret != -EPROBE_DEFER) {
>  #ifdef CONFIG_OF
> -	DRM_ERROR("failed to attach bridge %pOF to encoder %s: %d\n",
> -		  bridge->of_node, encoder->name, ret);
> +		DRM_ERROR("failed to attach bridge %pOF to encoder %s: %d\n",
> +			  bridge->of_node, encoder->name, ret);
>  #else
> -	DRM_ERROR("failed to attach bridge to encoder %s: %d\n",
> -		  encoder->name, ret);
> +		DRM_ERROR("failed to attach bridge to encoder %s: %d\n",
> +			  encoder->name, ret);
>  #endif
> -
> +	}

This looks fine as such, but I'm concerned about the direction it's
taking. Ideally, probe deferral should happen at probe time, way before
the bridge is attached. Doing otherwise is a step in the wrong direction
in my opinion, and something we'll end up regretting when we'll feel the
pain it inflicts.

>  	return ret;
>  }
>  EXPORT_SYMBOL(drm_bridge_attach);

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list