Hello, At 2026-02-04 17:21:48, "Chen Ni" <[email protected]> wrote: >Return the value of devm_drm_bridge_add() in order to propagate the >error properly, if it fails due to resource allocation failure or bridge >registration failure. > >This ensures that the bind function fails safely rather than proceeding >with a potentially incomplete bridge setup. > >Fixes: b726970486d8 ("drm/bridge: synopsys: dw-dp: add bridge before >attaching") >Signed-off-by: Chen Ni <[email protected]>
Reviewed-by: Andy Yan <[email protected]> >--- >Changes in v2: >- Use ERR_PTR() instead of dev_err_ptr_probe(). >--- > drivers/gpu/drm/bridge/synopsys/dw-dp.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > >diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c >b/drivers/gpu/drm/bridge/synopsys/dw-dp.c >index 432342452484..29fcba7a47d3 100644 >--- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c >+++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c >@@ -2049,7 +2049,11 @@ struct dw_dp *dw_dp_bind(struct device *dev, struct >drm_encoder *encoder, > bridge->type = DRM_MODE_CONNECTOR_DisplayPort; > bridge->ycbcr_420_allowed = true; > >- devm_drm_bridge_add(dev, bridge); >+ ret = devm_drm_bridge_add(dev, bridge); >+ if (ret) { >+ dev_err_probe(dev, ret, "failed to add bridge\n"); >+ return ERR_PTR(ret); >+ } > > dp->aux.dev = dev; > dp->aux.drm_dev = encoder->dev; >-- >2.25.1
