[tip: x86/irq] x86/apic/msi: Unbreak DMAR and HPET MSI

From: tip-bot2 for Thomas Gleixner
Date: Sun Sep 27 2020 - 16:00:39 EST


The following commit has been merged into the x86/irq branch of tip:

Commit-ID: d27e623ace6af259075b6e0437380ee8d6268c5d
Gitweb: https://git.kernel.org/tip/d27e623ace6af259075b6e0437380ee8d6268c5d
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Sun, 27 Sep 2020 10:46:44 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Sun, 27 Sep 2020 21:53:41 +02:00

x86/apic/msi: Unbreak DMAR and HPET MSI

Switching the DMAR and HPET MSI code to use the generic MSI domain ops
missed to add the flag which tells the core code to update the domain
operations with the defaults. As a consequence the core code crashes
when an interrupt in one of those domains is allocated.

Add the missing flags.

Fixes: 9006c133a422 ("x86/msi: Use generic MSI domain ops")
Reported-by: Qian Cai <cai@xxxxxxxxxx>
Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/87wo0fli8b.fsf@xxxxxxxxxxxxxxxxxxxxxxx

---
arch/x86/kernel/apic/msi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 3b522b0..6313f0a 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -309,6 +309,7 @@ static struct msi_domain_ops dmar_msi_domain_ops = {
static struct msi_domain_info dmar_msi_domain_info = {
.ops = &dmar_msi_domain_ops,
.chip = &dmar_msi_controller,
+ .flags = MSI_FLAG_USE_DEF_DOM_OPS,
};

static struct irq_domain *dmar_get_irq_domain(void)
@@ -408,6 +409,7 @@ static struct msi_domain_ops hpet_msi_domain_ops = {
static struct msi_domain_info hpet_msi_domain_info = {
.ops = &hpet_msi_domain_ops,
.chip = &hpet_msi_controller,
+ .flags = MSI_FLAG_USE_DEF_DOM_OPS,
};

struct irq_domain *hpet_create_irq_domain(int hpet_id)