iommu: Fix trace_map() to report original iova and original size
authorShuah Khan <shuahkh@osg.samsung.com>
Fri, 16 Jan 2015 02:29:43 +0000 (19:29 -0700)
committerJoerg Roedel <jroedel@suse.de>
Mon, 26 Jan 2015 12:15:23 +0000 (13:15 +0100)
iommu_map() calls trace_map() with iova and size. trace_map()
should report original iova and original size as opposed to
iova and size after they get changed during mapping. size is
always zero at the end of mapping which is useless to report
and iova as it gets incremented, it is not as useful as the
original iova. Change iommu_map() to call trace_map() to
report original iova and original size.

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>
drivers/iommu/iommu.c

index 3a4fb6274c99395d0a57d9dca56d9c786ef931fb..9e0dcdbf4110e87366f0f316f37f6021f39565a1 100644 (file)
@@ -1084,7 +1084,7 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
        if (ret)
                iommu_unmap(domain, orig_iova, orig_size - size);
        else
-               trace_map(iova, paddr, size);
+               trace_map(orig_iova, paddr, orig_size);
 
        return ret;
 }