ti_sn_bridge_parse_dsi_host() takes a reference to the remote DSI host
node. If ti_sn_attach_host() fails, ti_sn_bridge_probe() removes the
bridge but leaves the node reference held. The remove callback is not
called after failed probe, so a deferred probe can leak another reference
on each attempt.
Drop the host node reference in the existing attachment failure path.
Fixes: c3b75d4734cb ("drm/bridge: sn65dsi86: Register and attach our DSI device
at probe")
Cc: [email protected]
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <[email protected]>
---
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 48b83df9aed6..f4cf3b4af876 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -1465,6 +1465,7 @@ static int ti_sn_bridge_probe(struct auxiliary_device
*adev,
err_remove_bridge:
drm_bridge_remove(&pdata->bridge);
+ of_node_put(pdata->host_node);
return ret;
}
--
2.34.1