[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <850f56f6-870f-deb3-da6a-6df6e238e234@redhat.com>
Date: Mon, 14 Feb 2022 14:28:25 +0800
From: Jason Wang <jasowang@...hat.com>
To: Zhu Lingshan <lingshan.zhu@...el.com>, mst@...hat.com
Cc: netdev@...r.kernel.org, virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH V4 3/4] vhost_vdpa: don't setup irq offloading when
irq_num < 0
在 2022/2/3 下午3:27, Zhu Lingshan 写道:
> When irq number is negative(e.g., -EINVAL), the virtqueue
> may be disabled or the virtqueues are sharing a device irq.
> In such case, we should not setup irq offloading for a virtqueue.
>
> Signed-off-by: Zhu Lingshan <lingshan.zhu@...el.com>
> ---
> drivers/vhost/vdpa.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 851539807bc9..c4fcacb0de3a 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -96,6 +96,10 @@ static void vhost_vdpa_setup_vq_irq(struct vhost_vdpa *v, u16 qid)
> if (!ops->get_vq_irq)
> return;
>
> + irq = ops->get_vq_irq(vdpa, qid);
> + if (irq < 0)
> + return;
> +
> irq = ops->get_vq_irq(vdpa, qid);
So the get_vq_irq() will be called twice?
> irq_bypass_unregister_producer(&vq->call_ctx.producer);
> if (!vq->call_ctx.ctx || irq < 0)
We're already checked irq against 0 here.
Thanks
Powered by blists - more mailing lists