summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2011-05-28 20:15:05 +0200
committerDavid Woodhouse <David.Woodhouse@intel.com>2011-06-01 13:47:45 +0200
commitc681d0ba1252954208220ad32248a3e8e2fc98e4 (patch)
treefe74fdee4fa76e743aa0e8d2d22f958b1a1c710e
parentintel-iommu: Dont cache iova above 32bit (diff)
downloadlinux-c681d0ba1252954208220ad32248a3e8e2fc98e4.tar.xz
linux-c681d0ba1252954208220ad32248a3e8e2fc98e4.zip
intel-iommu: Use coherent DMA mask when requested
The __intel_map_single function is not honoring the passed in DMA mask. This results in not using the coherent DMA mask when called from intel_alloc_coherent(). Signed-off-by: Mike Travis <travis@sgi.com> Acked-by: Chris Wright <chrisw@sous-sol.org> Reviewed-by: Mike Habeck <habeck@sgi.com> Cc: stable@kernel.org Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r--drivers/pci/intel-iommu.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index 98be0b55ac0b..5cbab7f19ae0 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -2732,8 +2732,7 @@ static dma_addr_t __intel_map_single(struct device *hwdev, phys_addr_t paddr,
iommu = domain_get_iommu(domain);
size = aligned_nrpages(paddr, size);
- iova = intel_alloc_iova(hwdev, domain, dma_to_mm_pfn(size),
- pdev->dma_mask);
+ iova = intel_alloc_iova(hwdev, domain, dma_to_mm_pfn(size), dma_mask);
if (!iova)
goto error;