2010-10-18 15:53:35 +00:00
|
|
|
From 8d2f6746f7f82e1aee2dc40a937b5954cfc73414 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Kyle McMartin <kyle@mcmartin.ca>
|
|
|
|
Date: Sun, 17 Oct 2010 15:55:32 -0400
|
|
|
|
Subject: [PATCH] dmar: disable if ricoh multifunction detected
|
|
|
|
|
|
|
|
---
|
|
|
|
drivers/pci/intel-iommu.c | 10 ++++++++++
|
|
|
|
1 files changed, 10 insertions(+), 0 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
|
|
|
|
index 8e499e8..076c5de 100644
|
|
|
|
--- a/drivers/pci/intel-iommu.c
|
|
|
|
+++ b/drivers/pci/intel-iommu.c
|
2010-10-19 02:44:09 +00:00
|
|
|
@@ -3755,6 +3755,18 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
|
2010-10-18 15:53:35 +00:00
|
|
|
|
|
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf);
|
|
|
|
|
|
|
|
+/* https://bugzilla.redhat.com/show_bug.cgi?id=605888 */
|
|
|
|
+static void __devinit quirk_ricoh_multifunction(struct pci_dev *dev)
|
|
|
|
+{
|
2010-10-19 02:44:09 +00:00
|
|
|
+ printk(KERN_INFO "intel_iommu: broken Ricoh device %04X detected, disabling...\n",
|
|
|
|
+ dev->device);
|
2010-10-18 15:53:35 +00:00
|
|
|
+ dmar_disabled = 1;
|
|
|
|
+}
|
|
|
|
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe822, quirk_ricoh_multifunction);
|
|
|
|
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe230, quirk_ricoh_multifunction);
|
|
|
|
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe832, quirk_ricoh_multifunction);
|
|
|
|
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe476, quirk_ricoh_multifunction);
|
|
|
|
+
|
|
|
|
/* On Tylersburg chipsets, some BIOSes have been known to enable the
|
|
|
|
ISOCH DMAR unit for the Azalia sound device, but not give it any
|
|
|
|
TLB entries, which causes it to deadlock. Check for that. We do
|
|
|
|
--
|
|
|
|
1.7.3.1
|
|
|
|
|