aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@linaro.org>2022-02-04 23:24:00 +0800
committerSuzuki K Poulose <suzuki.poulose@arm.com>2022-03-11 10:07:47 +0000
commitbf0ef4f12c6303879c04e05ce43ea37ac56ebfa6 (patch)
tree43f6ef8c385ea335c7fe3fb69b69417026c34878
parentef1dacf4b3e23dae57d741bb592a3393428c5a7d (diff)
downloadiio-bf0ef4f12c6303879c04e05ce43ea37ac56ebfa6.tar.gz
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 57e94424a8d65d..c376f9e230d362 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);
}