iommu: Fix second argument of trace_map() to report correct paddr
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Wed, 10 Feb 2016 01:18:04 +0000 (10:18 +0900)
committerJoerg Roedel <jroedel@suse.de>
Thu, 25 Feb 2016 13:57:22 +0000 (14:57 +0100)
Since iommu_map() code added pgsize value to the paddr, trace_map()
used wrong paddr. So, this patch adds "orig_paddr" value in the
iommu_map() to use for the trace_map().

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommu.c

index 0e3b009..bfd4f7c 100644 (file)
@@ -1314,6 +1314,7 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
        unsigned long orig_iova = iova;
        unsigned int min_pagesz;
        size_t orig_size = size;
+       phys_addr_t orig_paddr = paddr;
        int ret = 0;
 
        if (unlikely(domain->ops->map == NULL ||
@@ -1358,7 +1359,7 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
        if (ret)
                iommu_unmap(domain, orig_iova, orig_size - size);
        else
-               trace_map(orig_iova, paddr, orig_size);
+               trace_map(orig_iova, orig_paddr, orig_size);
 
        return ret;
 }