Re: [PATCH] coresight: cti: Fix DT filter signals silently ignored

Leo Yan
2026-04-27T11:03:54Z

On Sun, Apr 26, 2026 at 05:59:34PM +0800, Yingchao Deng wrote:
> In cti_plat_process_filter_sigs(), after allocating a temporary
> cti_trig_grp struct via kzalloc_obj(), the code never assigns tg->nr_sigs
> = nr_filter_sigs. Since kzalloc zero-initialises the struct, tg->nr_sigs
> remains 0. cti_plat_read_trig_group() guards with:
> if (!tgrp->nr_sigs)
> return 0;
>
> so it returns immediately without reading any signal indices from DT.
>
> Fix by assigning tg->nr_sigs before calling cti_plat_read_trig_group().
>
> Fixes: a5614770ab97 ("coresight: cti: Add device tree support for custom CTI")
> Signed-off-by: Yingchao Deng <yingchao.deng@oss.qualcomm.com>
> ---
> drivers/hwtracing/coresight/coresight-cti-platform.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/hwtracing/coresight/coresight-cti-platform.c b/drivers/hwtracing/coresight/coresight-cti-platform.c
> index 4eff96f48594..d6d5388705c3 100644
> --- a/drivers/hwtracing/coresight/coresight-cti-platform.c
> +++ b/drivers/hwtracing/coresight/coresight-cti-platform.c
> @@ -329,6 +329,7 @@ static int cti_plat_process_filter_sigs(struct cti_drvdata *drvdata,
> if (!tg)
> return -ENOMEM;
>
> + tg->nr_sigs = nr_filter_sigs;
> err = cti_plat_read_trig_group(tg, fwnode, CTI_DT_FILTER_OUT_SIGS);

I checked the naming, seems tg->nr_sigs is the right field to store
the number. LGTM:

Reviewed-by: Leo Yan <leo.yan@arm.com>