summaryrefslogtreecommitdiff
path: root/drivers/iommu/iommu.c
diff options
context:
space:
mode:
authorShuah Khan <shuahkh@osg.samsung.com>2015-01-16 16:47:19 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:14:44 -0700
commit6972ed089951a2af24d8563105c6a32f9e3c1e83 (patch)
treeca2a7c160d1c02138ebeabd2289491dfa3ff2499 /drivers/iommu/iommu.c
parent52d6bcee8dba7de673e5933dfa3114c15af0bd4a (diff)
iommu: Fix trace_unmap() to report original iova
iommu_unmap() calls trace_unmap() with changed iova and original size. trace_unmap() should report original iova instead. Change iommu_unmap() to call trace_unmap() with original iova. Change-Id: Iedbaf6ddef566626f5c3dd656a8c1b8cf8c15663 Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com> Reported-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Joerg Roedel <jroedel@suse.de> [pdaly@codeaurora.org Resolve minor conflicts]
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r--drivers/iommu/iommu.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index dbda908fa95e..3b447302ddbf 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -1158,6 +1158,7 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
{
size_t unmapped_page, unmapped = 0;
unsigned int min_pagesz;
+ unsigned long orig_iova = iova;
trace_unmap_start(iova, 0, size);
if (unlikely(domain->ops->unmap == NULL ||
@@ -1200,8 +1201,8 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
unmapped += unmapped_page;
}
- trace_unmap(iova, 0, size);
- trace_unmap_end(iova, 0, size);
+ trace_unmap(orig_iova, 0, size);
+ trace_unmap_end(orig_iova, 0, size);
return unmapped;
}
EXPORT_SYMBOL_GPL(iommu_unmap);