diff options
| author | Xixin Liu <liuxixin@kylinos.cn> | 2026-07-28 08:50:00 +0800 |
|---|---|---|
| committer | Sudeep Holla <sudeep.holla@kernel.org> | 2026-09-01 11:44:59 +0100 |
| commit | ab06cf8152dace327cd873188e4a036c4e0b5944 (patch) | |
| tree | 350371c853cdd516b81d4fc3d9277e080e127cab /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | 70f4b78d560e592cbf3325b162424737d032fc1d (diff) | |
| download | linux-next-ab06cf8152dace327cd873188e4a036c4e0b5944.tar.gz linux-next-ab06cf8152dace327cd873188e4a036c4e0b5944.zip | |
clk: scpi: register scpi-cpufreq once and clear on failure
scpi_clocks_probe() walks clock children and, for each DVFS provider, calls
platform_device_register_simple("scpi-cpufreq", -1, ...). Two related bugs:
Since all DVFS providers register the fixed scpi-cpufreq device using
PLATFORM_DEVID_NONE, a second registration fails with -EEXIST and
overwrites the pointer to the successfully registered device. The first
device can then no longer be unregistered.
Register the virtual device only once. If registration fails, reset the
pointer to NULL so a subsequent DVFS provider can retry and the global
pointer only represents a successfully registered device.
Fixes: 9490f01e2471 ("clk: scpi: add support for cpufreq virtual device")
Fixes: 67bcc2c5f1da ("clk: scpi: don't add cpufreq device if the scpi dvfs node is disabled")
Signed-off-by: Xixin Liu <liuxixin@kylinos.cn>
Link: https://patch.msgid.link/fd1b9199a9c3.v2.1785200642.git.liuxixin@kylinos.cn
(sudeep.holla: reworded the commit message to improve readability)
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
