Subject: [PATCH 5/8] omap: iovmm: Add missing mutex_unlock

From: [email-masked] (Tony Lindgren)
Date: Fri, 02 Oct 2009 15:42:50 -0700

From: Daniel Walker <[email-masked]>

I was using Coccinelle with the mutex_unlock semantic patch, and it
unconvered this problem. It appears to be a valid missing unlock issue.
This change should correct it by moving the unlock below the label.

This patch is against the mainline kernel.

Cc: Julia Lawall <[email-masked]>
Cc: Hiroshi DOYU <[email-masked]>
Signed-off-by: Daniel Walker <[email-masked]>
Signed-off-by: Kevin Hilman <[email-masked]>
Signed-off-by: Tony Lindgren <[email-masked]>
---
 arch/arm/plat-omap/iovmm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index 0e5573d..dc3fac3 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -363,8 +363,9 @@ void *da_to_va(struct iommu *obj, u32 da)
 		goto out;
 	}
 	va = area->va;
-	mutex_unlock(&obj->mmap_lock);
 out:
+	mutex_unlock(&obj->mmap_lock);
+
 	return va;
 }
 EXPORT_SYMBOL_GPL(da_to_va);