[PATCH] drm/bridge: fsl-ldb: return -EPROBE_DEFER if the panel bridge is not found
From: Dario Binacchi
Date: Thu Oct 29 2026 - 10:46:59 EST
of_drm_find_and_get_bridge() returns NULL if the panel has not been
registered yet. Returning -ENODEV in this case makes the probe fail
instead of being retried, so the LDB is never bound and the display
pipeline never comes up:
platform 32e90000.display-controller: deferred probe pending: imx-lcdif: Failed to get bridge for endpoint0
Return -EPROBE_DEFER, so that the probe is retried once the panel is
available.
Fixes: 802372cf316a ("drm/bridge: fsl-ldb: don't create a panel_bridge")
Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/bridge/fsl-ldb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/fsl-ldb.c b/drivers/gpu/drm/bridge/fsl-ldb.c
index 7ec84c81cd78..420b3e08130e 100644
--- a/drivers/gpu/drm/bridge/fsl-ldb.c
+++ b/drivers/gpu/drm/bridge/fsl-ldb.c
@@ -342,7 +342,7 @@ static int fsl_ldb_probe(struct platform_device *pdev)
fsl_ldb->bridge.next_bridge = of_drm_find_and_get_bridge(panel_node);
of_node_put(panel_node);
if (!fsl_ldb->bridge.next_bridge)
- return -ENODEV;
+ return -EPROBE_DEFER;
if (fsl_ldb_is_dual(fsl_ldb)) {
struct device_node *port1, *port2;
---
base-commit: c339f4010dea8b0d754f84ace70cd1b089878ef8
branch: fsl-ldb-defer-probe
--
2.43.0