Hello! > > /* > > * Reestablish the pending state on the distributor and the > > - * CPU interface. It may have already been pending, but that > > - * is fine, then we are only setting a few bits that were > > - * already set. > > - */ > > - if (lr.state & LR_STATE_PENDING) { > > - vgic_dist_irq_set_pending(vcpu, lr.irq); > > this looks wrong: You should still be setting the pending state on the > distributor, perhaps this is an ordering issue with the last patch? No, explained in the commit msg: --- cut --- Additionally, remove unnecessary vgic_set_lr() and LR_STATE_PENDING check in vgic_unqueue_irqs(), because all these things are now done by the following vgic_retire_lr(). --- cut --- The last patch touches vgic_irq_clear_queued(). LR_STATE_PENDING check was included in vgic_retire_lr() by cff9211eb1a1f58ce7f5a2d596b617928fd4be0e ("arm/arm64: KVM: Fix arch timer behavior for disabled interrupts "), so i simply removed duplicated code. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html