Re: [PATCH] drm/tidss: Fix serial clock reference leak in tidss_oldi_init()
From: Wentao Liang
Date: Fri Nov 06 2026 - 04:46:23 EST
Hi Tomi,
Sorry for the very late reply.
You are right. The clk_put() I added to tidss_oldi_deinit() only covers
the unbind path. When tidss_oldi_init() fails for a second OLDI
transmitter, tidss_probe() returns the error directly and
tidss_oldi_deinit() is never called, so the reference taken for the
first transmitter is leaked as well.
I have switched to devm_get_clk_from_child(), which is
of_clk_get_by_name() with a device managed reference. The reference is
then dropped both when the driver is unbound and when probe fails, and
no explicit clk_put() is needed any more. The updated patch follows in
a separate mail.
For transparency about how this patch was produced: the candidate issue
was found with static analysis tools, and DeepSeek-V4.1-Flash and
GPT-6.1 Sol were used to help audit the error paths and to prepare the
patch.
Thanks,
Wentao