summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@linaro.org>2022-02-04 18:24:00 +0300
committerSuzuki K Poulose <suzuki.poulose@arm.com>2022-03-11 13:07:47 +0300
commitbf0ef4f12c6303879c04e05ce43ea37ac56ebfa6 (patch)
tree43f6ef8c385ea335c7fe3fb69b69417026c34878
parentef1dacf4b3e23dae57d741bb592a3393428c5a7d (diff)
downloadlinux-bf0ef4f12c6303879c04e05ce43ea37ac56ebfa6.tar.xz
coresight: etm4x: Add lock for reading virtual context ID comparator
Updates to the values and the index are protected via the spinlock. Ensure we use the same lock to read the value safely. Signed-off-by: Leo Yan <leo.yan@linaro.org> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20220204152403.71775-2-leo.yan@linaro.org
-rw-r--r--drivers/hwtracing/coresight/coresight-etm4x-sysfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c b/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
index 57e94424a8d6..c376f9e230d3 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
@@ -2115,7 +2115,9 @@ static ssize_t vmid_val_show(struct device *dev,
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
struct etmv4_config *config = &drvdata->config;
+ spin_lock(&drvdata->spinlock);
val = (unsigned long)config->vmid_val[config->vmid_idx];
+ spin_unlock(&drvdata->spinlock);
return scnprintf(buf, PAGE_SIZE, "%#lx\n", val);
}