mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] cpufreq: mediatek: Release DVFS resources when removing the driver
@ 2026-11-03  6:36 Wentao Liang
  2026-11-03  7:27 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Wentao Liang @ 2026-11-03  6:36 UTC (permalink / raw)
  To: rafael, viresh.kumar; +Cc: linux-pm, linux-kernel, Wentao Liang, stable

mtk_cpufreq_probe() registers the cpufreq driver and retains clocks,
regulators, OPP tables and OPP notifiers in dvfs_info_list. There is no
platform remove callback to undo this on device unbind or module unload.
The devm-allocated DVFS information is freed while the list and cpufreq
driver still refer to it, in addition to leaking the retained resources.

Unregister the cpufreq driver before releasing the DVFS resources and
removing their entries from the list, as in the probe failure path.

Fixes: 89b56047f6f9 ("cpufreq: mt8173: Move resources allocation into ->probe()")
Cc: stable@vger.kernel.org
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/cpufreq/mediatek-cpufreq.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
index f9b1eca176eb..5776310d96c0 100644
--- a/drivers/cpufreq/mediatek-cpufreq.c
+++ b/drivers/cpufreq/mediatek-cpufreq.c
@@ -677,11 +677,24 @@ static int mtk_cpufreq_probe(struct platform_device *pdev)
 	return ret;
 }
 
+static void mtk_cpufreq_remove(struct platform_device *pdev)
+{
+	struct mtk_cpu_dvfs_info *info, *tmp;
+
+	cpufreq_unregister_driver(&mtk_cpufreq_driver);
+
+	list_for_each_entry_safe(info, tmp, &dvfs_info_list, list_head) {
+		mtk_cpu_dvfs_info_release(info);
+		list_del(&info->list_head);
+	}
+}
+
 static struct platform_driver mtk_cpufreq_platdrv = {
 	.driver = {
 		.name	= "mtk-cpufreq",
 	},
 	.probe		= mtk_cpufreq_probe,
+	.remove		= mtk_cpufreq_remove,
 };
 
 static const struct mtk_cpufreq_platform_data mt2701_platform_data = {
-- 
2.34.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-03  7:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03  6:36 [PATCH] cpufreq: mediatek: Release DVFS resources when removing the driver Wentao Liang
2026-11-03  7:27 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®