aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r--drivers/iommu/iommu.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index f7718d73e984..72e683df0731 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) 2007-2008 Advanced Micro Devices, Inc. 2 * Copyright (C) 2007-2008 Advanced Micro Devices, Inc.
3 * Author: Joerg Roedel <joerg.roedel@amd.com> 3 * Author: Joerg Roedel <jroedel@suse.de>
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published 6 * under the terms of the GNU General Public License version 2 as published
@@ -1084,7 +1084,7 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
1084 if (ret) 1084 if (ret)
1085 iommu_unmap(domain, orig_iova, orig_size - size); 1085 iommu_unmap(domain, orig_iova, orig_size - size);
1086 else 1086 else
1087 trace_map(iova, paddr, size); 1087 trace_map(orig_iova, paddr, orig_size);
1088 1088
1089 return ret; 1089 return ret;
1090} 1090}
@@ -1094,6 +1094,7 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
1094{ 1094{
1095 size_t unmapped_page, unmapped = 0; 1095 size_t unmapped_page, unmapped = 0;
1096 unsigned int min_pagesz; 1096 unsigned int min_pagesz;
1097 unsigned long orig_iova = iova;
1097 1098
1098 if (unlikely(domain->ops->unmap == NULL || 1099 if (unlikely(domain->ops->unmap == NULL ||
1099 domain->ops->pgsize_bitmap == 0UL)) 1100 domain->ops->pgsize_bitmap == 0UL))
@@ -1133,7 +1134,7 @@ size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size)
1133 unmapped += unmapped_page; 1134 unmapped += unmapped_page;
1134 } 1135 }
1135 1136
1136 trace_unmap(iova, 0, size); 1137 trace_unmap(orig_iova, size, unmapped);
1137 return unmapped; 1138 return unmapped;
1138} 1139}
1139EXPORT_SYMBOL_GPL(iommu_unmap); 1140EXPORT_SYMBOL_GPL(iommu_unmap);