]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - kernel/irq/msi.c
x86/apic/msi: Plug non-maskable MSI affinity race
[mirror_ubuntu-bionic-kernel.git] / kernel / irq / msi.c
index 2f3c4f5382cc6bad8daf528146cf613d9a1ac3e6..52948b8ab61186dc39a86d2d1e0f8a07d40b3ffd 100644 (file)
@@ -439,8 +439,11 @@ int msi_domain_alloc_irqs(struct irq_domain *domain, struct device *dev,
                        continue;
 
                irq_data = irq_domain_get_irq_data(domain, desc->irq);
-               if (!can_reserve)
+               if (!can_reserve) {
                        irqd_clr_can_reserve(irq_data);
+                       if (domain->flags & IRQ_DOMAIN_MSI_NOMASK_QUIRK)
+                               irqd_set_msi_nomask_quirk(irq_data);
+               }
                ret = irq_domain_activate_irq(irq_data, can_reserve);
                if (ret)
                        goto cleanup;