summary refs log tree commit diff
path: root/arch/ia64/kvm
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2010-05-26 17:57:05 +0200
committerAvi Kivity <avi@redhat.com>2010-06-09 18:48:40 +0300
commit3499f4d0d1159a21245d6071f8af6a71b86a78bc (patch)
treef371f40814abdb56d023d86c65fb43cf5c9c217f /arch/ia64/kvm
parent05b782ab951a896d7da41775999821f692dc9e01 (diff)
downloadlinux-3499f4d0d1159a21245d6071f8af6a71b86a78bc.tar.gz
KVM: ia64: Add missing spin_unlock in kvm_arch_hardware_enable()
Add a spin_unlock missing on the error path.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression E1;
@@

* spin_lock(E1,...);
  <+... when != E1
  if (...) {
    ... when != E1
*   return ...;
  }
  ...+>
* spin_unlock(E1,...);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/ia64/kvm')
-rw-r--r--arch/ia64/kvm/kvm-ia64.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index d5f4e9161201..21b701374f72 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -144,6 +144,7 @@ int kvm_arch_hardware_enable(void *garbage)
 				VP_INIT_ENV : VP_INIT_ENV_INITALIZE,
 			__pa(kvm_vm_buffer), KVM_VM_BUFFER_BASE, &tmp_base);
 	if (status != 0) {
+		spin_unlock(&vp_lock);
 		printk(KERN_WARNING"kvm: Failed to Enable VT Support!!!!\n");
 		return -EINVAL;
 	}