diff options
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r-- | drivers/iommu/iommu.c | 7 |
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 | } |
1139 | EXPORT_SYMBOL_GPL(iommu_unmap); | 1140 | EXPORT_SYMBOL_GPL(iommu_unmap); |