aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/arm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kvm/arm.c')
-rw-r--r--arch/arm/kvm/arm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
index 13205bd9b359..c9fe9d71be73 100644
--- a/arch/arm/kvm/arm.c
+++ b/arch/arm/kvm/arm.c
@@ -464,6 +464,8 @@ static void update_vttbr(struct kvm *kvm)
464 464
465static int kvm_vcpu_first_run_init(struct kvm_vcpu *vcpu) 465static int kvm_vcpu_first_run_init(struct kvm_vcpu *vcpu)
466{ 466{
467 int ret;
468
467 if (likely(vcpu->arch.has_run_once)) 469 if (likely(vcpu->arch.has_run_once))
468 return 0; 470 return 0;
469 471
@@ -473,9 +475,8 @@ static int kvm_vcpu_first_run_init(struct kvm_vcpu *vcpu)
473 * Initialize the VGIC before running a vcpu the first time on 475 * Initialize the VGIC before running a vcpu the first time on
474 * this VM. 476 * this VM.
475 */ 477 */
476 if (irqchip_in_kernel(vcpu->kvm) && 478 if (unlikely(!vgic_initialized(vcpu->kvm))) {
477 unlikely(!vgic_initialized(vcpu->kvm))) { 479 ret = kvm_vgic_init(vcpu->kvm);
478 int ret = kvm_vgic_init(vcpu->kvm);
479 if (ret) 480 if (ret)
480 return ret; 481 return ret;
481 } 482 }