From a9e5080da8fc4e239fa3fdc29cc8887f883da9d2 Mon Sep 17 00:00:00 2001 From: kyle Date: Mon, 18 Oct 2010 11:53:35 -0400 Subject: [PATCH] Quirk to disable DMAR with Ricoh card reader/firewire --- dmar-disable-when-ricoh-multifunction.patch | 33 +++++++++++++++++++++ kernel.spec | 8 +++++ 2 files changed, 41 insertions(+) create mode 100644 dmar-disable-when-ricoh-multifunction.patch diff --git a/dmar-disable-when-ricoh-multifunction.patch b/dmar-disable-when-ricoh-multifunction.patch new file mode 100644 index 000000000..eb2b7ce8e --- /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 +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 0ddaab663..92a15e637 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 @@ -2194,6 +2199,9 @@ fi %changelog +* Mon Oct 18 2010 Kyle McMartin +- Quirk to disable DMAR with Ricoh card reader/firewire. (rhbz#605888) + * Mon Oct 18 2010 Kyle McMartin - Two networking fixes (skge, r8169) from sgruska. (rhbz#447489,629158)