Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- arch/arm/kvm/vgic.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/arm/kvm/vgic.c b/arch/arm/kvm/vgic.c index 451ceec..40e6bc5 100644 --- a/arch/arm/kvm/vgic.c +++ b/arch/arm/kvm/vgic.c @@ -1307,14 +1307,16 @@ int kvm_vgic_hyp_init(void) return -ENODEV; vgic_maint_irq = irq_of_parse_and_map(vgic_node, 0); - if (!vgic_irq) - return -ENXIO; + if (!vgic_maint_irq) { + ret = -ENXIO; + goto out; + } ret = request_percpu_irq(vgic_maint_irq, vgic_maintenance_handler, "vgic", kvm_get_running_vcpus()); if (ret) { kvm_err("Cannot register interrupt %d\n", vgic_maint_irq); - return ret; + goto out; } ret = register_cpu_notifier(&vgic_cpu_nb); @@ -1357,13 +1359,14 @@ int kvm_vgic_hyp_init(void) } vgic_vcpu_base = vcpu_res.start; - return 0; + goto out; out_unmap: iounmap(vgic_vctrl_base); out_free_irq: free_percpu_irq(vgic_maint_irq, kvm_get_running_vcpus()); - +out: + of_node_put(vgic_node); return ret; } -- 1.8.0.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm