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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to