[PATCH 1/1] drm/bridge: Silence error messages upon probe deferral

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jun 6 15:12:29 UTC 2023


Hi Alexander,

Thank you for the patch.

On Tue, Jun 06, 2023 at 04:48:33PM +0200, Alexander Stein wrote:
> When -EPROBE_DEFER is returned do not raise an error, but silently return
> this error instead. Fixes error like this:
> [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc at 0/bus at 30800000/mipi-dsi at 30a00000 to encoder None-34: -517
> [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc at 0/bus at 30800000/mipi-dsi at 30a00000 to encoder None-34: -517
> 
> Signed-off-by: Alexander Stein <alexander.stein at ew.tq-group.com>
> ---
> dev_err_probe() would be the best, but I am not sure if this function is
> always used within a driver's probe() call.
> 
>  drivers/gpu/drm/drm_bridge.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
> index c3d69af02e79d..07773d6441a1f 100644
> --- a/drivers/gpu/drm/drm_bridge.c
> +++ b/drivers/gpu/drm/drm_bridge.c
> @@ -350,6 +350,7 @@ 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);

Wrong indentation.

dev_err_probe() could be useful, but this function is likely not called
from probe paths only :-S

When not called from a probe path, dropping the message will result in a
silent error, which would be hard to debug :-(

> @@ -357,6 +358,7 @@ int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
>  	DRM_ERROR("failed to attach bridge to encoder %s: %d\n",
>  		  encoder->name, ret);
>  #endif
> +	}
>  
>  	return ret;
>  }

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list