]> git.baikalelectronics.ru Git - kernel.git/commit
iommu: fix Intel IOMMU write-buffer flushing
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 13 Feb 2009 23:18:03 +0000 (23:18 +0000)
committerIngo Molnar <mingo@elte.hu>
Sat, 14 Feb 2009 21:47:09 +0000 (22:47 +0100)
commitcbf52fc0adf906bba87de887a9dea0981b2a1150
treec382fdc5c8a1aa2860c03e52ea9341bb30207a18
parentc8828ac778992df25c3d558d1e90eb659a4c8429
iommu: fix Intel IOMMU write-buffer flushing

This is the cause of the DMA faults and disk corruption that people have
been seeing. Some chipsets neglect to report the RWBF "capability" --
the flag which says that we need to flush the chipset write-buffer when
changing the DMA page tables, to ensure that the change is visible to
the IOMMU.

Override that bit on the affected chipsets, and everything is happy
again.

Thanks to Chris and Bhavesh and others for helping to debug.

Should resolve:

  https://bugzilla.redhat.com/show_bug.cgi?id=479996
  http://bugzilla.kernel.org/show_bug.cgi?id=12578

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Tested-and-acked-by: Chris Wright <chrisw@sous-sol.org>
Reviewed-by: Bhavesh Davda <bhavesh@vmware.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
drivers/pci/intel-iommu.c