OSDN Git Service

genirq/irqdomain: Make sure all irq domain flags are distinct
authorZenghui Yu <yuzenghui@huawei.com>
Fri, 21 Feb 2020 02:07:25 +0000 (10:07 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 21 Feb 2020 10:29:15 +0000 (11:29 +0100)
This was noticed when printing debugfs for MSIs on my ARM64 server.  The
new dstate IRQD_MSI_NOMASK_QUIRK came out surprisingly while it should only
be the x86 stuff for the time being...

The new MSI quirk flag uses the same bit as IRQ_DOMAIN_NAME_ALLOCATED which
is oddly defined as bit 6 for no good reason.

Switch it to the non used bit 1.

Fixes: 6f1a4891a592 ("x86/apic/msi: Plug non-maskable MSI affinity race")
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20200221020725.2038-1-yuzenghui@huawei.com
include/linux/irqdomain.h

index b2d4757..8d062e8 100644 (file)
@@ -192,7 +192,7 @@ enum {
        IRQ_DOMAIN_FLAG_HIERARCHY       = (1 << 0),
 
        /* Irq domain name was allocated in __irq_domain_add() */
-       IRQ_DOMAIN_NAME_ALLOCATED       = (1 << 6),
+       IRQ_DOMAIN_NAME_ALLOCATED       = (1 << 1),
 
        /* Irq domain is an IPI domain with virq per cpu */
        IRQ_DOMAIN_FLAG_IPI_PER_CPU     = (1 << 2),