[PATCH v3 2/2] coresight: core: Disable helpers for devices that fail to enable
From: Yabin Cui
Date: Tue Apr 08 2025 - 16:00:39 EST
When enabling a SINK or LINK type coresight device fails, the
associated helpers should be disabled.
Signed-off-by: Yabin Cui <yabinc@xxxxxxxxxx>
Suggested-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
---
drivers/hwtracing/coresight/coresight-core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c
index fb43ef6a3b1f..a56ba9087538 100644
--- a/drivers/hwtracing/coresight/coresight-core.c
+++ b/drivers/hwtracing/coresight/coresight-core.c
@@ -486,8 +486,10 @@ int coresight_enable_path(struct coresight_path *path, enum cs_mode mode,
* that need disabling. Disabling the path here
* would mean we could disrupt an existing session.
*/
- if (ret)
+ if (ret) {
+ coresight_disable_helpers(csdev);
goto out;
+ }
break;
case CORESIGHT_DEV_TYPE_SOURCE:
/* sources are enabled from either sysFS or Perf */
@@ -496,10 +498,13 @@ int coresight_enable_path(struct coresight_path *path, enum cs_mode mode,
parent = list_prev_entry(nd, link)->csdev;
child = list_next_entry(nd, link)->csdev;
ret = coresight_enable_link(csdev, parent, child, source);
- if (ret)
+ if (ret) {
+ coresight_disable_helpers(csdev);
goto err;
+ }
break;
default:
+ coresight_disable_helpers(csdev);
goto err;
}
}
--
2.49.0.504.g3bcea36a83-goog