[kernel/f13/master] Quirk to disable DMAR with Ricoh card reader/firewire

Kyle McMartin kyle at fedoraproject.org
Mon Oct 18 15:54:30 UTC 2010


commit a9e5080da8fc4e239fa3fdc29cc8887f883da9d2
Author: kyle <kyle at ihatethathostname.lab.bos.redhat.com>
Date:   Mon Oct 18 11:53:35 2010 -0400

    Quirk to disable DMAR with Ricoh card reader/firewire

 dmar-disable-when-ricoh-multifunction.patch |   33 +++++++++++++++++++++++++++
 kernel.spec                                 |    8 ++++++
 2 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/dmar-disable-when-ricoh-multifunction.patch b/dmar-disable-when-ricoh-multifunction.patch
new file mode 100644
index 0000000..eb2b7ce
--- /dev/null
+++ b/dmar-disable-when-ricoh-multifunction.patch
@@ -0,0 +1,33 @@
+From 8d2f6746f7f82e1aee2dc40a937b5954cfc73414 Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle at 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
+@@ -3755,6 +3755,16 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
+ 
+ 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)
++{
++	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
+
diff --git a/kernel.spec b/kernel.spec
index 0ddaab6..92a15e6 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -831,6 +831,8 @@ Patch12592: linux-2.6-twsock-rcu-lockdep-warn.patch
 Patch13635: r8169-fix-dma-allocations.patch
 Patch13636: skge-quirk-to-4gb-dma.patch
 
+Patch13637: dmar-disable-when-ricoh-multifunction.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1573,6 +1575,9 @@ ApplyPatch r8169-fix-dma-allocations.patch
 # rhbz#447489
 ApplyPatch skge-quirk-to-4gb-dma.patch
 
+# rhbz#605888
+ApplyPatch dmar-disable-when-ricoh-multifunction.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -2195,6 +2200,9 @@ fi
 
 %changelog
 * Mon Oct 18 2010 Kyle McMartin <kyle at redhat.com>
+- Quirk to disable DMAR with Ricoh card reader/firewire. (rhbz#605888)
+
+* Mon Oct 18 2010 Kyle McMartin <kyle at redhat.com>
 - Two networking fixes (skge, r8169) from sgruska. (rhbz#447489,629158)
 
 * Thu Oct 14 2010 Neil Horman <nhorman at redhat.com>


More information about the scm-commits mailing list