]> Pileus Git - ~andy/linux/blobdiff - drivers/iommu/intel_irq_remapping.c
iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets
[~andy/linux] / drivers / iommu / intel_irq_remapping.c
index f3b8f23b5d8f1d89cd5dea093faa9441061ca00c..5b19b2d6ec2d337d370481af750b2c7c46afaf06 100644 (file)
@@ -524,6 +524,16 @@ static int __init intel_irq_remapping_supported(void)
 
        if (disable_irq_remap)
                return 0;
+       if (irq_remap_broken) {
+               WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND,
+                          "This system BIOS has enabled interrupt remapping\n"
+                          "on a chipset that contains an erratum making that\n"
+                          "feature unstable.  To maintain system stability\n"
+                          "interrupt remapping is being disabled.  Please\n"
+                          "contact your BIOS vendor for an update\n");
+               disable_irq_remap = 1;
+               return 0;
+       }
 
        if (!dmar_ir_support())
                return 0;