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 3a4fb62..9e0dcdb 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;
 }