[PATCH 2/2] drm/bridge: samsung-dsim: use drm_bridge_clear_and_put() to put the next bridge

From: Luca Ceresoli

Date: Fri Feb 06 2026 - 09:30:36 EST


drm_bridge_clear_and_put() is simpler to write and it prevents any
potential future use-after-free.

Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
---
drivers/gpu/drm/bridge/samsung-dsim.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c
index 1d85e706c74b..568fc0f5b416 100644
--- a/drivers/gpu/drm/bridge/samsung-dsim.c
+++ b/drivers/gpu/drm/bridge/samsung-dsim.c
@@ -1980,8 +1980,7 @@ static int samsung_dsim_host_attach(struct mipi_dsi_host *host,
return 0;

err_release_next_bridge:
- drm_bridge_put(dsi->bridge.next_bridge);
- dsi->bridge.next_bridge = NULL;
+ drm_bridge_clear_and_put(&dsi->bridge.next_bridge);
return ret;
}

@@ -2002,8 +2001,7 @@ static int samsung_dsim_host_detach(struct mipi_dsi_host *host,
if (pdata->host_ops && pdata->host_ops->detach)
pdata->host_ops->detach(dsi, device);

- drm_bridge_put(dsi->bridge.next_bridge);
- dsi->bridge.next_bridge = NULL;
+ drm_bridge_clear_and_put(&dsi->bridge.next_bridge);

samsung_dsim_unregister_te_irq(dsi);


--
2.52.0