Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

genirq/irqdomain: Make sure all irq domain flags are distinct

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

authored by

Zenghui Yu and committed by
Thomas Gleixner
2546287c cba6437a

+1 -1
+1 -1
include/linux/irqdomain.h
··· 192 192 IRQ_DOMAIN_FLAG_HIERARCHY = (1 << 0), 193 193 194 194 /* Irq domain name was allocated in __irq_domain_add() */ 195 - IRQ_DOMAIN_NAME_ALLOCATED = (1 << 6), 195 + IRQ_DOMAIN_NAME_ALLOCATED = (1 << 1), 196 196 197 197 /* Irq domain is an IPI domain with virq per cpu */ 198 198 IRQ_DOMAIN_FLAG_IPI_PER_CPU = (1 << 2),