]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/bridge: synopsys: dw-dp: Check return value of devm_drm_bridge_add() in dw_dp_bind()
authorChen Ni <nichen@iscas.ac.cn>
Fri, 6 Feb 2026 04:06:21 +0000 (12:06 +0800)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Fri, 20 Feb 2026 12:47:09 +0000 (13:47 +0100)
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 <nichen@iscas.ac.cn>
Reviewed-by: Andy Yan <andyshrk@163.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Link: https://patch.msgid.link/20260206040621.4095517-1-nichen@iscas.ac.cn
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/bridge/synopsys/dw-dp.c

index 43234245248473805f0a36c5b251212bb31bfb17..07f7a2e0d9f2a920a445c12d7cd46d7c4f308d2c 100644 (file)
@@ -2049,7 +2049,9 @@ 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)
+               return ERR_PTR(ret);
 
        dp->aux.dev = dev;
        dp->aux.drm_dev = encoder->dev;