]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIs
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 Apr 2019 05:36:23 +0000 (06:36 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 3 Apr 2019 01:18:43 +0000 (02:18 +0100)
commitbd318c32857eb6e37c582d98f05ab63ec5a7a9bb
tree6976d070504820315cb794fda1f23e386ff9591b
parent40b57d3e0960eef206708c3c57a63724aba8bb4b
KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIs

When disabling LPIs (for example on reset) at the redistributor
level, it is expected that LPIs that was pending in the CPU
interface are eventually retired.

Currently, this is not what is happening, and these LPIs will
stay in the ap_list, eventually being acknowledged by the vcpu
(which didn't quite expect this behaviour).

The fix is thus to retire these LPIs from the list of pending
interrupts as we disable LPIs.

Reported-by: Heyi Guo <guoheyi@huawei.com>
Tested-by: Heyi Guo <guoheyi@huawei.com>
Fixes: 81e94426a02b ("KVM: arm64: vgic-its: Enable ITS emulation as a virtual MSI controller")
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
virt/kvm/arm/vgic/vgic-mmio-v3.c
virt/kvm/arm/vgic/vgic.c
virt/kvm/arm/vgic/vgic.h