Thread (23 messages) 23 messages, 4 authors, 2022-02-15

Re: [PATCH V4 3/4] vhost_vdpa: don't setup irq offloading when irq_num < 0

From: Zhu, Lingshan <hidden>
Date: 2022-02-14 06:48:19


On 2/14/2022 2:28 PM, Jason Wang wrote:
在 2022/2/3 下午3:27, Zhu Lingshan 写道:
quoted
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?
yes, the latter one should be removed
quoted
irq_bypass_unregister_producer(&vq->call_ctx.producer);
      if (!vq->call_ctx.ctx || irq < 0)

We're already checked irq against 0 here.
sure, will remove this

Thanks!

Thanks
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help