]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
coresight: platform: check the availability of the endpoint before parse
authorJie Gan <jie.gan@oss.qualcomm.com>
Fri, 20 Mar 2026 07:31:12 +0000 (15:31 +0800)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Mon, 30 Mar 2026 14:02:24 +0000 (15:02 +0100)
Check endpoint availability before parsing it. If parsing a connected
endpoint fails, the probe is deferred until the endpoint becomes
available, or eventually fails. In some legacy cases, a replicator
has two output ports where one is disabled and the other is available.
The replicator probe always fails because the disabled endpoint never
becomes available for parsing. In addition, there is no need to defer
probing a device that is connected to a disabled device, which improves
probe performance.

Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Reviewed-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20260320-add-availability-check-v1-1-b2e39cdeb6e0@oss.qualcomm.com
drivers/hwtracing/coresight/coresight-platform.c

index 0ca3bd762454350d33b5630244d0cfe638ee03fb..e337b6e2bf327c774be92806dc1353a934d688b2 100644 (file)
@@ -220,6 +220,8 @@ static int of_coresight_parse_endpoint(struct device *dev,
                rparent = of_coresight_get_port_parent(rep);
                if (!rparent)
                        break;
+               if (!of_device_is_available(rparent))
+                       break;
                if (of_graph_parse_endpoint(rep, &rendpoint))
                        break;