| From bb96327960ea3aedb4b546029f221532cc44f4de Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 20 Sep 2018 13:17:50 -0600 |
| Subject: coresight: perf: Disable trace path upon source error |
| |
| From: Suzuki K Poulose <suzuki.poulose@arm.com> |
| |
| [ Upstream commit 4f8ef21007531c3d7cb5b826e7b2c8999b65ecae ] |
| |
| We enable the trace path, before activating the source. |
| If we fail to enable the source, we must disable the path |
| to make sure it is available for another session. |
| |
| Cc: Mathieu Poirier <mathieu.poirier@linaro.org> |
| Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> |
| Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/hwtracing/coresight/coresight-etm-perf.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/hwtracing/coresight/coresight-etm-perf.c b/drivers/hwtracing/coresight/coresight-etm-perf.c |
| index 4b53d55788a07..c3c6452015142 100644 |
| --- a/drivers/hwtracing/coresight/coresight-etm-perf.c |
| +++ b/drivers/hwtracing/coresight/coresight-etm-perf.c |
| @@ -306,11 +306,13 @@ static void etm_event_start(struct perf_event *event, int flags) |
| |
| /* Finally enable the tracer */ |
| if (source_ops(csdev)->enable(csdev, event, CS_MODE_PERF)) |
| - goto fail_end_stop; |
| + goto fail_disable_path; |
| |
| out: |
| return; |
| |
| +fail_disable_path: |
| + coresight_disable_path(path); |
| fail_end_stop: |
| perf_aux_output_flag(handle, PERF_AUX_FLAG_TRUNCATED); |
| perf_aux_output_end(handle, 0); |
| -- |
| 2.20.1 |
| |