Re: [PATCH] perf/arm-smmuv3: Propagate errors from optional IRQ lookup

From: Will Deacon

Date: Fri Oct 02 2026 - 12:45:40 EST


On Tue, Aug 11, 2026 at 11:19:34AM +0700, phucduc.bui@xxxxxxxxx wrote:
> From: bui duc phuc <phucduc.bui@xxxxxxxxx>
>
> platform_get_irq_optional() returns a positive IRQ number on success or
> a negative error code on failure. For an optional IRQ, -ENXIO indicates
> that no optional IRQ is available, while other errors should be propagated.
>
> Propagate all error codes returned by platform_get_irq_optional() other
> than -ENXIO.
>
> Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
> ---
> drivers/perf/arm_smmuv3_pmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c
> index 621f02a7f43b..6c942697e57f 100644
> --- a/drivers/perf/arm_smmuv3_pmu.c
> +++ b/drivers/perf/arm_smmuv3_pmu.c
> @@ -893,6 +893,8 @@ static int smmu_pmu_probe(struct platform_device *pdev)
> }
>
> irq = platform_get_irq_optional(pdev, 0);
> + if (irq < 0 && irq != -ENXIO)
> + return irq;

Not sure about this. If it's optional, why should we bail the probe if
we don't manage to get an irq? Surely it's better to continue without
the interrupt in that case?

Will