iommu/msm: ->unmap() should return order of unmapped page
Ohad Ben-Cohen [Fri, 2 Sep 2011 17:32:34 +0000 (13:32 -0400)]
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>

drivers/iommu/msm_iommu.c

index 1a584e0..d1733f6 100644 (file)
@@ -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;