[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v7 for-next 10/12] vpci/msi: add MSI handlers



>>> On 22.01.18 at 13:48, <roger.pau@xxxxxxxxxx> wrote:
> I think the proper way to solve this is to reset the mask bits to
> masked when the vector is unbound, so that at bind time the state of
> the mask is consistent regardless of whether the vector has been
> previously bound or not. The following patch should fix this:
> 
> diff --git a/xen/drivers/passthrough/io.c b/xen/drivers/passthrough/io.c
> index 8f16e6c0a5..bab3aa349a 100644
> --- a/xen/drivers/passthrough/io.c
> +++ b/xen/drivers/passthrough/io.c
> @@ -645,7 +645,22 @@ int pt_irq_destroy_bind(
>          }
>          break;
>      case PT_IRQ_TYPE_MSI:
> +    {
> +        unsigned long flags;
> +        struct irq_desc *desc = domain_spin_lock_irq_desc(d, machine_gsi,
> +                                                          &flags);
> +
> +        if ( !desc )
> +            return -EINVAL;
> +        /*
> +         * Leave the MSI masked, so that the state when calling
> +         * pt_irq_create_bind is consistent across bind/unbinds.
> +         */
> +        guest_mask_msi_irq(desc, true);
> +        spin_unlock_irqrestore(&desc->lock, flags);
>          break;
> +    }
> +
>      default:
>          return -EOPNOTSUPP;
>      }
> 
> I think this should be send as a separate patch of this series, since
> it's a fix for pt_irq_destroy_bind.

Looks plausible, but I'll defer my ack until I've also seen the
description for it, because if the above is really necessary I'd
sort of expect there to be an actual issue without any of your
series applied.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.