From: Luca Ceresoli Date: Tue, 10 Mar 2026 12:13:24 +0000 (+0100) Subject: drm/bridge: samsung-dsim: use drm_bridge_clear_and_put() to put the next bridge X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fbef867cf6614178bc6afd15ee15f85cddf19eab;p=thirdparty%2Flinux.git drm/bridge: samsung-dsim: use drm_bridge_clear_and_put() to put the next bridge drm_bridge_clear_and_put() is simpler to write and it prevents any potential future use-after-free. Reviewed-by: Osama Abdelkader Acked-by: Marek Szyprowski Acked-by: Maxime Ripard Link: https://patch.msgid.link/20260310-drm-bridge-atomic-vs-remove-clear_and_put-v2-2-51fe222f3cf0@bootlin.com Signed-off-by: Luca Ceresoli --- diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c index ec632f2686442..c3eb437ef1b0b 100644 --- a/drivers/gpu/drm/bridge/samsung-dsim.c +++ b/drivers/gpu/drm/bridge/samsung-dsim.c @@ -1988,9 +1988,7 @@ of_find_panel_or_bridge: 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); if (!(device->mode_flags & MIPI_DSI_MODE_VIDEO)) samsung_dsim_unregister_te_irq(dsi); err_remove_bridge: @@ -2007,8 +2005,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);