summaryrefslogtreecommitdiffstats
path: root/virt/kvm/irqchip.c
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-04-07 10:50:35 +0200
committerRadim Krčmář <rkrcmar@redhat.com>2017-04-12 20:17:14 +0200
commit8c6b7828c24a69416bcb639d5760c6eaa351fdf9 (patch)
treed89642f127ad11ada98a3cf2a2206d7ef6f2af25 /virt/kvm/irqchip.c
parent43ae312ca18a0d6d1a363295fa6a2a14a12605e8 (diff)
downloadlinux-8c6b7828c24a69416bcb639d5760c6eaa351fdf9.tar.gz
linux-8c6b7828c24a69416bcb639d5760c6eaa351fdf9.tar.bz2
linux-8c6b7828c24a69416bcb639d5760c6eaa351fdf9.zip
KVM: x86: cleanup return handling in setup_routing_entry()
Let's drop the goto and return the error value directly. Suggested-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 'virt/kvm/irqchip.c')
-rw-r--r--virt/kvm/irqchip.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c
index 3bcc9990adf7..cc30d01a56be 100644
--- a/virt/kvm/irqchip.c
+++ b/virt/kvm/irqchip.c
@@ -142,8 +142,8 @@ static int setup_routing_entry(struct kvm *kvm,
struct kvm_kernel_irq_routing_entry *e,
const struct kvm_irq_routing_entry *ue)
{
- int r = -EINVAL;
struct kvm_kernel_irq_routing_entry *ei;
+ int r;
/*
* Do not allow GSI to be mapped to the same irqchip more than once.
@@ -153,20 +153,19 @@ static int setup_routing_entry(struct kvm *kvm,
if (ei->type != KVM_IRQ_ROUTING_IRQCHIP ||
ue->type != KVM_IRQ_ROUTING_IRQCHIP ||
ue->u.irqchip.irqchip == ei->irqchip.irqchip)
- return r;
+ return -EINVAL;
e->gsi = ue->gsi;
e->type = ue->type;
r = kvm_set_routing_entry(kvm, e, ue);
if (r)
- goto out;
+ return r;
if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi;
hlist_add_head(&e->link, &rt->map[e->gsi]);
- r = 0;
-out:
- return r;
+
+ return 0;
}
void __attribute__((weak)) kvm_arch_irq_routing_update(struct kvm *kvm)