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]
This commit is contained in:
Shuah Khan 2015-01-16 16:47:19 -07:00 committed by David Keitel
parent 52d6bcee8d
commit 6972ed0899

View file

@ -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);