summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/irq_comm.c
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-04-07 10:50:34 +0200
committerRadim Krčmář <rkrcmar@redhat.com>2017-04-12 20:17:14 +0200
commit43ae312ca18a0d6d1a363295fa6a2a14a12605e8 (patch)
treec76b4f992417444c4933733b3675510833794527 /arch/x86/kvm/irq_comm.c
parentKVM: x86: rename kvm_vcpu_request_scan_ioapic() (diff)
downloadlinux-43ae312ca18a0d6d1a363295fa6a2a14a12605e8.tar.xz
linux-43ae312ca18a0d6d1a363295fa6a2a14a12605e8.zip
KVM: x86: drop goto label in kvm_set_routing_entry()
No need for the goto label + local variable "r". Reviewed-by: Peter Xu <peterx@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Diffstat (limited to 'arch/x86/kvm/irq_comm.c')
-rw-r--r--arch/x86/kvm/irq_comm.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c
index fb1e37ea2674..d71f7a7fd5c9 100644
--- a/arch/x86/kvm/irq_comm.c
+++ b/arch/x86/kvm/irq_comm.c
@@ -278,18 +278,16 @@ int kvm_set_routing_entry(struct kvm *kvm,
struct kvm_kernel_irq_routing_entry *e,
const struct kvm_irq_routing_entry *ue)
{
- int r = -EINVAL;
-
/* also allow creation of routes during KVM_IRQCHIP_INIT_IN_PROGRESS */
if (kvm->arch.irqchip_mode == KVM_IRQCHIP_NONE)
- goto out;
+ return -EINVAL;
/* Matches smp_wmb() when setting irqchip_mode */
smp_rmb();
switch (ue->type) {
case KVM_IRQ_ROUTING_IRQCHIP:
if (irqchip_split(kvm))
- goto out;
+ return -EINVAL;
e->irqchip.pin = ue->u.irqchip.pin;
switch (ue->u.irqchip.irqchip) {
case KVM_IRQCHIP_PIC_SLAVE:
@@ -297,16 +295,16 @@ int kvm_set_routing_entry(struct kvm *kvm,
/* fall through */
case KVM_IRQCHIP_PIC_MASTER:
if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2)
- goto out;
+ return -EINVAL;
e->set = kvm_set_pic_irq;
break;
case KVM_IRQCHIP_IOAPIC:
if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS)
- goto out;
+ return -EINVAL;
e->set = kvm_set_ioapic_irq;
break;
default:
- goto out;
+ return -EINVAL;
}
e->irqchip.irqchip = ue->u.irqchip.irqchip;
break;
@@ -317,7 +315,7 @@ int kvm_set_routing_entry(struct kvm *kvm,
e->msi.data = ue->u.msi.data;
if (kvm_msi_route_invalid(kvm, e))
- goto out;
+ return -EINVAL;
break;
case KVM_IRQ_ROUTING_HV_SINT:
e->set = kvm_hv_set_sint;
@@ -325,12 +323,10 @@ int kvm_set_routing_entry(struct kvm *kvm,
e->hv_sint.sint = ue->u.hv_sint.sint;
break;
default:
- goto out;
+ return -EINVAL;
}
- r = 0;
-out:
- return r;
+ return 0;
}
bool kvm_intr_is_single_vcpu(struct kvm *kvm, struct kvm_lapic_irq *irq,