[PATCH] drm/tidss: Fix serial clock reference leak in tidss_oldi_init()
From: Wentao Liang
Date: Wed Sep 16 2026 - 15:05:23 EST
The reference to the OLDI serial clock taken with
of_clk_get_by_name() is kept in the OLDI bridge structure for the
whole driver lifetime but is never released; neither the bridge
destruction nor tidss_oldi_deinit() drop it. Release it when the
bridge is unregistered.
Fixes: 7246e0929945 ("drm/tidss: Add OLDI bridge support")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/gpu/drm/tidss/tidss_oldi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
index 17c535bfa057..bd151c83555d 100644
--- a/drivers/gpu/drm/tidss/tidss_oldi.c
+++ b/drivers/gpu/drm/tidss/tidss_oldi.c
@@ -450,6 +450,7 @@ void tidss_oldi_deinit(struct tidss_device *tidss)
for (int i = 0; i < tidss->num_oldis; i++) {
if (tidss->oldis[i]) {
drm_bridge_remove(&tidss->oldis[i]->bridge);
+ clk_put(tidss->oldis[i]->serial);
tidss->is_ext_vp_clk[tidss->oldis[i]->parent_vp] = false;
tidss->oldis[i] = NULL;
}
--
2.34.1