| From 6c8f4e245ffa78a0f9d203a5d61d496b5c1f37df Mon Sep 17 00:00:00 2001 |
| From: Zenghui Yu <yuzenghui@huawei.com> |
| Date: Fri, 21 Feb 2020 10:07:25 +0800 |
| Subject: [PATCH] genirq/irqdomain: Make sure all irq domain flags are distinct |
| |
| commit 2546287c5fb363a0165933ae2181c92f03e701d0 upstream. |
| |
| 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 |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h |
| index 7427c5ed98c0..5495bc4582c1 100644 |
| --- a/include/linux/irqdomain.h |
| +++ b/include/linux/irqdomain.h |
| @@ -191,7 +191,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), |
| -- |
| 2.7.4 |
| |