summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaibin Wang <wanghaibin.wang@huawei.com>2014-04-10 13:14:32 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-13 13:32:47 +0200
commit2264ca6c71682e1c0d72a9f21e178204b1e621e4 (patch)
treec59d6ebabb88adf3e88f061a8f13a0ac247a0e6e
parentb487c62505afbd87654773562fbf2e89bcd52147 (diff)
downloadlinux-stable-2264ca6c71682e1c0d72a9f21e178204b1e621e4.tar.gz
linux-stable-2264ca6c71682e1c0d72a9f21e178204b1e621e4.tar.bz2
linux-stable-2264ca6c71682e1c0d72a9f21e178204b1e621e4.zip
KVM: ARM: vgic: Fix sgi dispatch problem
commit 91021a6c8ffdc55804dab5acdfc7de4f278b9ac3 upstream. When dispatch SGI(mode == 0), that is the vcpu of VM should send sgi to the cpu which the target_cpus list. So, there must add the "break" to branch of case 0. Signed-off-by: Haibin Wang <wanghaibin.wang@huawei.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--virt/kvm/arm/vgic.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
index 8ca405cd7c1a..26954a7d9b03 100644
--- a/virt/kvm/arm/vgic.c
+++ b/virt/kvm/arm/vgic.c
@@ -916,6 +916,7 @@ static void vgic_dispatch_sgi(struct kvm_vcpu *vcpu, u32 reg)
case 0:
if (!target_cpus)
return;
+ break;
case 1:
target_cpus = ((1 << nrcpus) - 1) & ~(1 << vcpu_id) & 0xff;