[PATCH v11 2/9] coresight: etm3x: prohibit modifying cntr_val and reset while session is enabled

Mike Leach mike.leach at arm.com
Fri Sep 18 04:15:21 PDT 2026


Reviewed-by: Mike Leach <mike.leach at arm.com>

On 9/15/26 12:34, Yeoreum Yun wrote:
> cntr_val are overwritten with the values read from the corresponding
> registers by etm_disable_hw() when the session is disabled.
> 
> This means that any changes to this value made while the session is
> enabled would be lost when the session is disabled.
> 
> Also, reset shouldn't be called while session is enabled.
> 
> Therefore, prohibit modifying cntr_val and reset while the session is enabled.
> 
> Signed-off-by: Yeoreum Yun <yeoreum.yun at arm.com>
> ---
>   drivers/hwtracing/coresight/coresight-etm3x-sysfs.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c b/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> index b3c67e96a82a4..d4846d6364945 100644
> --- a/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> +++ b/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> @@ -74,6 +74,8 @@ static ssize_t reset_store(struct device *dev,
>   	ret = kstrtoul(buf, 16, &val);
>   	if (ret)
>   		return ret;
> +	if (coresight_get_mode(drvdata->csdev))
> +		return -EBUSY;
>   
>   	if (val) {
>   		spin_lock(&drvdata->spinlock);
> @@ -744,6 +746,8 @@ static ssize_t cntr_val_store(struct device *dev,
>   	ret = kstrtoul(buf, 16, &val);
>   	if (ret)
>   		return ret;
> +	if (coresight_get_mode(drvdata->csdev))
> +		return -EBUSY;
>   
>   	spin_lock(&drvdata->spinlock);
>   	config->cntr_val[config->cntr_idx] = val;
> 




More information about the linux-arm-kernel mailing list