On Thu, 25 Sept 2025 at 16:04, Sean Anderson sean.anderson@linux.dev wrote:
If registering the CPU map fails, we need to put the fwnode. free_percpu works when called with a NULL pointer, so just use coresight_device_release.
Fixes: 5ad628a76176 ("coresight: Use per-sink trace ID maps for Perf sessions") Signed-off-by: Sean Anderson sean.anderson@linux.dev
(no changes since v4)
Changes in v4:
- New
drivers/hwtracing/coresight/coresight-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c index fa758cc21827..022c8384b98d 100644 --- a/drivers/hwtracing/coresight/coresight-core.c +++ b/drivers/hwtracing/coresight/coresight-core.c @@ -1352,7 +1352,7 @@ struct coresight_device *coresight_register(struct coresight_desc *desc) raw_spin_lock_init(&csdev->perf_sink_id_map.lock); csdev->perf_sink_id_map.cpu_map = alloc_percpu(atomic_t); if (!csdev->perf_sink_id_map.cpu_map) {
kfree(csdev);
coresight_device_release(&csdev->dev); ret = -ENOMEM; goto err_out; }
-- 2.35.1.1320.gc452695387.dirty
Reviewed-by: Mike Leach mike.leach@linaro.org