[PATCH 5/7] iommu/msm: ->unmap() should return order of unmapped page

Ohad Ben-Cohen ohad at wizery.com
Fri Sep 2 13:32:34 EDT 2011


Users of the IOMMU API (kvm specifically) assume that iommu_unmap()
returns the order of the unmapped page (on success).

Fix msm_iommu_unmap() accordingly.

Signed-off-by: Ohad Ben-Cohen <ohad at wizery.com>
Cc: Stepan Moskovchenko <stepanm at codeaurora.org>
Cc: David Brown <davidb at codeaurora.org>
---
 drivers/iommu/msm_iommu.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/iommu/msm_iommu.c b/drivers/iommu/msm_iommu.c
index 1a584e0..d1733f6 100644
--- a/drivers/iommu/msm_iommu.c
+++ b/drivers/iommu/msm_iommu.c
@@ -543,6 +543,13 @@ static int msm_iommu_unmap(struct iommu_domain *domain, unsigned long va,
 	}
 
 	ret = __flush_iotlb(domain);
+
+	/*
+	 * the IOMMU API requires us to return the order of the unmapped
+	 * page (on success).
+	 */
+	if (!ret)
+		ret = order;
 fail:
 	spin_unlock_irqrestore(&msm_iommu_lock, flags);
 	return ret;
-- 
1.7.4.1




More information about the linux-arm-kernel mailing list