]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
irqchip/gic-v5: Fix inversion of IRS_IDR0.virt flag
authorSascha Bischoff <Sascha.Bischoff@arm.com>
Wed, 25 Feb 2026 08:31:40 +0000 (08:31 +0000)
committerMarc Zyngier <maz@kernel.org>
Wed, 25 Feb 2026 08:55:59 +0000 (08:55 +0000)
It appears that a !! became ! during a cleanup, resulting in inverted
logic when detecting if a host GICv5 implementation is capable of
virtualization.

Re-add the missing !, fixing the behaviour.

Fixes: 3227c3a89d65f ("irqchip/gic-v5: Check if impl is virt capable")
Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com>
Link: https://patch.msgid.link/20260225083130.3378490-1-sascha.bischoff@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
drivers/irqchip/irq-gic-v5-irs.c

index eeeb40fb0eaa04cfe3c776df8135273b9766bfd3..4ed2bfa17c015eddf5a6392d9e9a8981a7e4e7c4 100644 (file)
@@ -744,7 +744,7 @@ static int __init gicv5_irs_init(struct device_node *node)
         */
        if (list_empty(&irs_nodes)) {
                idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR0);
-               gicv5_global_data.virt_capable = !FIELD_GET(GICV5_IRS_IDR0_VIRT, idr);
+               gicv5_global_data.virt_capable = !!FIELD_GET(GICV5_IRS_IDR0_VIRT, idr);
 
                idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR1);
                irs_setup_pri_bits(idr);