Re: [PATCH V4 3/4] vhost_vdpa: don't setup irq offloading when irq_num < 0
From: Jason Wang <jasowang@redhat.com>
Date: 2022-02-14 06:28:40
Also in:
virtualization
From: Jason Wang <jasowang@redhat.com>
Date: 2022-02-14 06:28:40
Also in:
virtualization
在 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 <redacted> --- 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