[PATCH 1/4] perf: nvidia_t410_cmem_latency: fix cpuhp state leak on init failure

From: Saurav Sachidanand

Date: Wed May 13 2026 - 21:07:17 EST


If platform_driver_register() fails, the cpuhp multi-state registered
by cpuhp_setup_state_multi() is never cleaned up. Add
cpuhp_remove_multi_state() on the error path, mirroring the cleanup
in cmem_lat_pmu_exit().

Fixes: 429b7638b2df ("perf: add NVIDIA Tegra410 CPU Memory Latency PMU")
Signed-off-by: Saurav Sachidanand <sauravsc@xxxxxxxxxx>
---
drivers/perf/nvidia_t410_cmem_latency_pmu.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/perf/nvidia_t410_cmem_latency_pmu.c b/drivers/perf/nvidia_t410_cmem_latency_pmu.c
index acb8f5571522c..e27bf31b2b366 100644
--- a/drivers/perf/nvidia_t410_cmem_latency_pmu.c
+++ b/drivers/perf/nvidia_t410_cmem_latency_pmu.c
@@ -719,7 +719,11 @@ static int __init cmem_lat_pmu_init(void)

cmem_lat_pmu_cpuhp_state = ret;

- return platform_driver_register(&cmem_lat_pmu_driver);
+ ret = platform_driver_register(&cmem_lat_pmu_driver);
+ if (ret)
+ cpuhp_remove_multi_state(cmem_lat_pmu_cpuhp_state);
+
+ return ret;
}

static void __exit cmem_lat_pmu_exit(void)
--
2.47.3