arm64: smp: Fix pNMI setup after GICv5 rework
authorMarc Zyngier <maz@kernel.org>
Tue, 15 Jul 2025 17:11:12 +0000 (18:11 +0100)
committerMarc Zyngier <maz@kernel.org>
Tue, 15 Jul 2025 17:11:12 +0000 (18:11 +0100)
Breno reports that pNMIs are not behaving the way they should since
they were reworked for GICv5. Turns out we feed the IRQ number to
the pNMI helper instead of the IPI number -- not a good idea.

Fix it by providing the correct number (duh).

Fixes: ba1004f861d16 ("arm64: smp: Support non-SGIs for IPIs")
Reported-by: Breno Leitao <leitao@debian.org>
Suggested-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kernel/smp.c

index 4797e2c..a900835 100644 (file)
@@ -1093,7 +1093,7 @@ static void ipi_setup_sgi(int ipi)
 
        irq = ipi_irq_base + ipi;
 
-       if (ipi_should_be_nmi(irq)) {
+       if (ipi_should_be_nmi(ipi)) {
                err = request_percpu_nmi(irq, ipi_handler, "IPI", &irq_stat);
                WARN(err, "Could not request IRQ %d as NMI, err=%d\n", irq, err);
        } else {