Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95b110ab authored by Christoffer Dall's avatar Christoffer Dall
Browse files

KVM: arm/arm64: Don't queue VLPIs on INV/INVALL



Since VLPIs are injected directly by the hardware there's no need to
mark these as pending in software and queue them on the AP list.

Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
parent 3d1ad640
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -292,10 +292,13 @@ static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq,
		irq->priority = LPI_PROP_PRIORITY(prop);
		irq->enabled = LPI_PROP_ENABLE_BIT(prop);

		if (!irq->hw) {
			vgic_queue_irq_unlock(kvm, irq, flags);
	} else {
		spin_unlock_irqrestore(&irq->irq_lock, flags);
			return 0;
		}
	}

	spin_unlock_irqrestore(&irq->irq_lock, flags);

	if (irq->hw)
		return its_prop_update_vlpi(irq->host_irq, prop, needs_inv);