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@0/bus@30800000/mipi-dsi@30a00000 to encoder None-34: -517
[drm:drm_bridge_attach] *ERROR* failed to attach bridge
  /soc@0/bus@30800000/mipi-dsi@30a00000 to encoder None-34: -517

Signed-off-by: Alexander Stein <alexander.st...@ew.tq-group.com>
Reviewed-by: Robert Foss <rf...@kernel.org>
---
Changes in v5:
* Added dev_err_probe() call if probe deferral occurs

 drivers/gpu/drm/drm_bridge.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
index d44f055dbe3e7..c6af46dd02bfa 100644
--- a/drivers/gpu/drm/drm_bridge.c
+++ b/drivers/gpu/drm/drm_bridge.c
@@ -353,8 +353,13 @@ int drm_bridge_attach(struct drm_encoder *encoder, struct 
drm_bridge *bridge,
        bridge->encoder = NULL;
        list_del(&bridge->chain_node);
 
-       DRM_ERROR("failed to attach bridge %pOF to encoder %s: %d\n",
-                 bridge->of_node, encoder->name, ret);
+       if (ret != -EPROBE_DEFER)
+               DRM_ERROR("failed to attach bridge %pOF to encoder %s: %d\n",
+                         bridge->of_node, encoder->name, ret);
+       else
+               dev_err_probe(encoder->dev->dev, -EPROBE_DEFER,
+                             "failed to attach bridge %pOF to encoder %s\n",
+                             bridge->of_node, encoder->name);
 
        return ret;
 }
-- 
2.34.1

Reply via email to