diff options
author | Christoffer Dall <christoffer.dall@linaro.org> | 2018-01-12 13:40:21 +0300 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2018-01-12 13:40:21 +0300 |
commit | f8f85dc00b7427de6222ea3955c52512315d13cd (patch) | |
tree | 56be5a7ae60ad2c3b59074e8add00fa73992ef0d /virt/kvm/arm/vgic/vgic-v4.c | |
parent | c507babf10ead4d5c8cca704539b170752a8ac84 (diff) | |
download | linux-f8f85dc00b7427de6222ea3955c52512315d13cd.tar.xz |
KVM: arm64: Fix GICv4 init when called from vgic_its_create
Commit 3d1ad640f8c94 ("KVM: arm/arm64: Fix GICv4 ITS initialization
issues") moved the vgic_supports_direct_msis() check in vgic_v4_init().
However when vgic_v4_init is called from vgic_its_create(), the has_its
field is not yet set. Hence vgic_supports_direct_msis returns false and
vgic_v4_init does nothing.
The gic/its init sequence is a bit messy, so let's be specific about the
prerequisite checks in the various call paths instead of relying on a
common wrapper.
Fixes: 3d1ad640f8c94 ("KVM: arm/arm64: Fix GICv4 ITS initialization issues")
Reported-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'virt/kvm/arm/vgic/vgic-v4.c')
-rw-r--r-- | virt/kvm/arm/vgic/vgic-v4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/virt/kvm/arm/vgic/vgic-v4.c b/virt/kvm/arm/vgic/vgic-v4.c index 4a37292855bc..bc4265154bac 100644 --- a/virt/kvm/arm/vgic/vgic-v4.c +++ b/virt/kvm/arm/vgic/vgic-v4.c @@ -118,7 +118,7 @@ int vgic_v4_init(struct kvm *kvm) struct kvm_vcpu *vcpu; int i, nr_vcpus, ret; - if (!vgic_supports_direct_msis(kvm)) + if (!kvm_vgic_global_state.has_gicv4) return 0; /* Nothing to see here... move along. */ if (dist->its_vm.vpes) |