irqchip/gic-v5: Remove undue WARN_ON()s in the IRS affinity parsing
authorLorenzo Pieralisi <lpieralisi@kernel.org>
Thu, 14 Aug 2025 09:41:38 +0000 (11:41 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 24 Aug 2025 10:54:06 +0000 (12:54 +0200)
In gicv5_irs_of_init_affinity() a WARN_ON() is triggered if:

 1) a phandle in the "cpus" property does not correspond to a valid OF
    node
 2  a CPU logical id does not exist for a given OF cpu_node

#1 is a firmware bug and should be reported as such but does not warrant a
   WARN_ON() backtrace.

#2 is not necessarily an error condition (eg a kernel can be booted with
   nr_cpus=X limiting the number of cores artificially) and therefore there
   is no reason to clutter the kernel log with WARN_ON() output when the
   condition is hit.

Rework the IRS affinity parsing code to remove undue WARN_ON()s thus
making it less noisy.

Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250814094138.1611017-1-lpieralisi@kernel.org
drivers/irqchip/irq-gic-v5-irs.c

index ffc97737a75700eeb543240f1294d71badb4abba..13c035727e32b0cfd3b2ba554729a3059411f379 100644 (file)
@@ -626,12 +626,14 @@ static int __init gicv5_irs_of_init_affinity(struct device_node *node,
                int cpu;
 
                cpu_node = of_parse_phandle(node, "cpus", i);
-               if (WARN_ON(!cpu_node))
+               if (!cpu_node) {
+                       pr_warn(FW_BUG "Erroneous CPU node phandle\n");
                        continue;
+               }
 
                cpu = of_cpu_node_to_id(cpu_node);
                of_node_put(cpu_node);
-               if (WARN_ON(cpu < 0))
+               if (cpu < 0)
                        continue;
 
                if (iaffids[i] & ~iaffid_mask) {