summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/msm_iommu.c
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2011-09-02 13:32:34 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2011-09-05 15:15:14 +0200
commit9e28547f887c3040747d8422e1feef79bea93bd8 (patch)
treefd00d3147a680c645dd31b73282acbe4efe23766 /drivers/iommu/msm_iommu.c
parentc6a389f123b9f68d605bb7e0f9b32ec1e3e14132 (diff)
downloadlinux-9e28547f887c3040747d8422e1feef79bea93bd8.tar.gz
linux-9e28547f887c3040747d8422e1feef79bea93bd8.tar.bz2
linux-9e28547f887c3040747d8422e1feef79bea93bd8.zip
iommu/msm: ->unmap() should return order of unmapped page
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@wizery.com> Cc: Stepan Moskovchenko <stepanm@codeaurora.org> Cc: David Brown <davidb@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'drivers/iommu/msm_iommu.c')
-rw-r--r--drivers/iommu/msm_iommu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/iommu/msm_iommu.c b/drivers/iommu/msm_iommu.c
index 1a584e077c61..d1733f672f16 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;