KVM: PPC: Book3S HV: Use common error handling code in kvmppc_clr_passthru_irq()
authorMarkus Elfring <elfring@users.sourceforge.net>
Fri, 20 Jan 2017 10:00:08 +0000 (11:00 +0100)
committerPaul Mackerras <paulus@ozlabs.org>
Thu, 20 Apr 2017 01:37:50 +0000 (11:37 +1000)
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_hv.c

index 1ec86d9..06b7d8a 100644 (file)
@@ -3624,11 +3624,9 @@ static int kvmppc_clr_passthru_irq(struct kvm *kvm, int host_irq, int guest_gsi)
                return -EIO;
 
        mutex_lock(&kvm->lock);
+       if (!kvm->arch.pimap)
+               goto unlock;
 
-       if (kvm->arch.pimap == NULL) {
-               mutex_unlock(&kvm->lock);
-               return 0;
-       }
        pimap = kvm->arch.pimap;
 
        for (i = 0; i < pimap->n_mapped; i++) {
@@ -3650,7 +3648,7 @@ static int kvmppc_clr_passthru_irq(struct kvm *kvm, int host_irq, int guest_gsi)
         * We don't free this structure even when the count goes to
         * zero. The structure is freed when we destroy the VM.
         */
-
+ unlock:
        mutex_unlock(&kvm->lock);
        return 0;
 }