Re: [PATCH v7 12/17] KVM: Implement IRQ bypass consumer callbacks for x86

From: Paolo Bonzini
Date: Fri Sep 11 2015 - 06:32:00 EST




On 25/08/2015 10:50, Feng Wu wrote:
> + struct kvm_kernel_irqfd *irqfd =
> + container_of(cons, struct kvm_kernel_irqfd, consumer);
> +
> + irqfd->producer = prod;

This assignment should be under "if (kvm_x86_ops->update_pi_irte)".

> + return kvm_arch_update_pi_irte(irqfd->kvm, prod->irq, irqfd->gsi, 1);
> +}
> +
> +void kvm_arch_irq_bypass_del_producer(struct irq_bypass_consumer *cons,
> + struct irq_bypass_producer *prod)
> +{
> + int ret;
> + struct kvm_kernel_irqfd *irqfd =
> + container_of(cons, struct kvm_kernel_irqfd, consumer);
> +
> + irqfd->producer = NULL;

And here it should be like:

if (!kvm_x86_ops->update_pi_irte) {
WARN_ON(irqfd->producer != NULL);
return;
}

WARN_ON(irqfd->producer != prod);
irqfd->producer = NULL;

Paolo

> +
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/